Fixing bug: null argument values has only matched overloaded methods where the corresponding parameter had Object type, not a subclass of it. Also did some code cleanup along the way.