createFilter() is for --filter=factory. createFilter(String) is for --filter=factory=args

FilterNotFoundException is a bad name for the exception. It's an exception meant to be thrown if the filter cannot be created. I'll rename the exception.