/** interface fed to comparator to sort enum constants including their attached methods */
interface EnumItem  {

/**
  * get the original source of the complete declation, including comments, and associated methods.
  */
String getOriginalSource();

/**
  * get Javadoc comment in front of declaration, null if none
  */
String getComment();

/**
  * return name of Method
  */
String getEnumdName();

/**
  * return enums for boolean byte char short int float long double Boolean Byte Character Short Integer Float Long Double String Other
  * for constructor parameters.  Null when none.
  */
Type[] getParmTypes();

/**
  * return 0 for a scalar, 1 for an array or ..., 2 for a [][]... parameter dimension
  */
int[] getParmDimensions();

/**
  * get the generic return type, null if none.
  */
String[] getParmGenerics();

/**
  * returns name of Class for other declaration, null if primitive or standard class
  */
String[] getOtherParmTypeNames();

/**
  * return name of Method
  */
String[] getParmNames();

}