/** interface fed to Comparator to sort case declarations on a switch. Sorting is suppressed if there is any fallthrough. Alternatively the rearranger has to be very careful not to change the semantics by its reordering when there is fallthrough. No cases are reattached to different code. Just multiple cases on the same code are put in order. Then entire case blocks are sorted by the value of the first associated case literal. Never does the rearranger change what the code does. CaseItems work differently that the other items. They do not drag the associated code along with them. */ interface CaseItem { /** * return enums for boolean byte char short int float long double String od the switch variable. */ Type getType(); /** * Number[] or String[] */ Object[] getCaseValues(); }