added the skeleton of the ArgumentMarshaler
added an assertion that will fail on a subsequent change
changed HashMap for the boolean arguments to take an ArgumentMarshaler
changed HashMap for the string and integer arguments to take an ArgumentMarshaler
moved setBoolean into BooleanArgumentMarshaler
moved getBoolean into BooleanArgumentMarshaler
moved get and set for strings into the derivative
moved get and set for integers into the derivative
but without the change with NumberFormatException that would not compile
got rid of the three different maps - the "After first refactoring" version