question: private static List < String > splitCamelCase ( String className ) { String remaining = className ; List < String > result = new ArrayList < String > ( ) ; while ( ! remaining . isEmpty ( ) ) { boolean found = false ; for ( int i = 1 ; i < remaining . length ( ) ; i ++ ) { if ( Character . isUpperCase ( remaining . charAt ( i ) ) ) { result . add ( remaining . substring ( 0 , i ) ) ; remaining = remaining . substring ( i ) ; found = true ; break ; } } if ( ! found ) { result . add ( remaining ) ; remaining = "" ; } } return result ; }
target:  Converts a name like "OutputByteInputTableCodingLoop" to a List of words: { "output", "byte", "input", "table", "coding", "loop" }