Collection<String> (@NotNull AccessorsInfo accessorsInfo, String fieldName, boolean isBoolean, String booleanPrefix, String normalPrefix) { Collection<String> result = new HashSet<>(); fieldName = accessorsInfo.removePrefix(fieldName); if (accessorsInfo.isFluent()) { result.add(StringUtil.decapitalize(fieldName)); return result; } final CapitalizationStrategy capitalizationStrategy = accessorsInfo.getCapitalizationStrategy(); if (isBoolean) { result.add(buildName(normalPrefix, fieldName, capitalizationStrategy)); result.add(buildName(booleanPrefix, fieldName, capitalizationStrategy)); if (fieldName.startsWith("is") && fieldName.length() > 2 && !Character.isLowerCase(fieldName.charAt(2))) { final String baseName = fieldName.substring(2); result.add(buildName(normalPrefix, baseName, capitalizationStrategy)); result.add(buildName(booleanPrefix, baseName, capitalizationStrategy)); } } else { result.add(buildName(normalPrefix, fieldName, capitalizationStrategy)); } return result; }