Rearranged switch cases alphabetically.
Added FIXME.
Added some pre-work to the FIXME.
Changed name of variable for clarity
Added some stub code to substitute primitive types for boxed types.
Added new method substituteToken() to encapsulate all repeated code doing it.
Used new method to substitute all primitive types for boxed types.
Used new method sustituteToken() to remove all that repeated code.