code: private static List[] caseMethods(int caseCount,
                                        BeanProperty[] props) {
          List[] cases = new List[caseCount];
  
          for (int i=0; i<props.length; i++) {
              BeanProperty prop = props[i];
              int hashCode = prop.getName().hashCode();
              int caseValue = (hashCode & 0x7fffffff) % caseCount;
              List matches = cases[caseValue];
              if (matches == null) {
                  matches = cases[caseValue] = new ArrayList();
              }
              matches.add(prop);
          }
  
          return cases;
      }
docs: Returns an array of Lists of BeanProperties. The first index
  matches a switch case, the second index provides a list of all the
  BeanProperties whose name hash matched on the case.