code: public String normalize2Ascii(char character, char nonNormalizableCharaterReplacement) {
  
      String transliteration = transliterate(character);
      if (transliteration == null) {
        return CHARACTER_TO_ASCII_MAP.get(Character.valueOf(character));
      } else {
        int length = transliteration.length();
        if (length == 1) {
          return CHARACTER_TO_ASCII_MAP.get(Character.valueOf(transliteration.charAt(0)));
        }
        StringBuilder buffer = new StringBuilder(length);
        for (int i = 0; i < length; i++) {
          char c = transliteration.charAt(i);
          if (c <= 127) {
            buffer.append(c);
          } else {
            String ascii = CHARACTER_TO_ASCII_MAP.get(c);
            if (ascii != null) {
              buffer.append(ascii);
            } else if (nonNormalizableCharaterReplacement != NULL) {
              buffer.append(nonNormalizableCharaterReplacement);
            }
          }
        }
        return buffer.toString();
      }
    }
docs: @see #normalize2Ascii(char)
  
  @param character is the character to convert.
  @param nonNormalizableCharaterReplacement is the character used to replace unicode characters that have
  no {@link #normalize2Ascii(char) corresponding ASCII representation}. Use {@link #NULL} to remove
  these characters. A typical character to use is {@code ?}.
  @return a sequence of ASCII-characters that represent the given character or {@code null} if the
  character is already ASCII or there is no ASCII-representation available.