private static boolean canPrefixApply(String fieldName, String prefix) {
    final int prefixLength = prefix.length();
    // we can use digits and upper case letters after a prefix, but not lower case letters
    return prefixLength == 0 ||
           fieldName.startsWith(prefix) && fieldName.length() > prefixLength &&
           (!Character.isLetter(prefix.charAt(prefix.length() - 1)) || !Character.isLowerCase(fieldName.charAt(prefixLength)));
  }
private static boolean canPrefixApply(String fieldName, String prefix)