generates the next short name . this generates names of increasing length . to minimize output size , therefore , it 's good to call it for the most used symbols first . concode_field_sep char[] NONFIRST_CHAR concode_elem_sep Random random concode_elem_sep char[] FIRST_CHAR concode_elem_sep String prefix concode_elem_sep LinkedHashSet<Character> firstChars concode_elem_sep int nameCount concode_elem_sep List<List<Character>> shuffledNonFirst concode_elem_sep int NUM_SHUFFLES concode_elem_sep Set<String> reservedNames concode_elem_sep List<Character> shuffledFirst concode_elem_sep LinkedHashSet<Character> nonFirstChars concode_field_sep int getNameLength concode_elem_sep LinkedHashSet<Character> reserveCharacters concode_elem_sep void checkPrefix concode_elem_sep String generateSuffix concode_elem_sep NameGenerator clone concode_elem_sep void reset concode_elem_sep void shuffleAlphabets concode_elem_sep List<Character> shuffleAndCopyAlphabet concode_elem_sep List<Character> getAlphabet
String function ( ) { while ( true ) { String loc0 = prefix ; loc0 += generateSuffix ( prefix . length ( ) , nameCount ++ ) ; if ( TokenStream . isKeyword ( loc0 ) || reservedNames . contains ( loc0 ) ) { continue ; } return loc0 ; } }