code: public Result firstForCodePoint(int cp) {
          return cp<=0xffff ?
              first(cp) :
              (first(UTF16.getLeadSurrogate(cp)).hasNext() ?
                  next(UTF16.getTrailSurrogate(cp)) :
                  Result.NO_MATCH);
      }
docs: Traverses the trie from the initial state for the
  one or two UTF-16 code units for this input code point.
  Equivalent to reset().nextForCodePoint(cp).
  @param cp A Unicode code point 0..0x10ffff.
  @return The match/value Result.