String (final String propertyName) { if (myOldClassNameAsGiven.equals(propertyName)) return myNewClassNameAsGiven; final String[] propertyWords = NameUtilCore.splitNameIntoWords(propertyName); Int2IntMap matches = calculateMatches(propertyWords); if (matches.isEmpty()) return propertyName; TreeMap<Pair<Integer, Integer>, String> replacements = calculateReplacements(propertyWords, matches); if (replacements.isEmpty()) return propertyName; return calculateNewName(replacements, propertyWords, propertyName); }