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 ; }
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 .