void (Set<String> possibleNames, NameValidator validator, String typeName) { ArrayList<String> camelTokens = GroovyNamesUtil.camelizeString(typeName); Collections.reverse(camelTokens); if (!camelTokens.isEmpty()) { String possibleName = ""; for (String camelToken : camelTokens) { possibleName = camelToken + fromUpperLetter(possibleName); String candidate = validator.validateName(possibleName, true); // todo generify if (candidate.equals("class")) { candidate = validator.validateName("clazz", true); } if (!possibleNames.contains(candidate) && GroovyNamesUtil.isIdentifier(candidate)) { possibleNames.add(candidate); } } } }