code: @Override
      protected void handleTransliterate(Replaceable text,
                                         Position offsets, boolean isIncremental) {
          int cursor = offsets.start;
          int limit = offsets.limit;
  
          StringBuilder str = new StringBuilder();
          str.append(OPEN_DELIM);
          int len;
          String name;
  
          while (cursor < limit) {
              int c = text.char32At(cursor);
              if ((name=UCharacter.getExtendedName(c)) != null) {
  
                  str.setLength(OPEN_DELIM_LEN);
                  str.append(name).append(CLOSE_DELIM);
  
                  int clen = UTF16.getCharCount(c);
                  text.replace(cursor, cursor+clen, str.toString());
                  len = str.length();
                  cursor += len; // advance cursor by 1 and adjust for new text
                  limit += len-clen; // change in length
              } else {
                  ++cursor;
              }
          }
  
          offsets.contextLimit += limit - offsets.limit;
          offsets.limit = limit;
          offsets.start = cursor;
      }
docs: Implements {@link Transliterator#handleTransliterate}.