Refactor away duplicated code

Pull up getNullableResult methods.  Consolidate ThreadLocals. Replace
toXXX methods with toMonetaryAmount.