code: static boolean matches16CPB(CharSequence s, int start, int limit, final String t, int tlength) {
          return matches16(s, start, t, tlength)
                  && !(0 < start && Character.isHighSurrogate(s.charAt(start - 1)) &&
                          Character.isLowSurrogate(s.charAt(start)))
                  && !((start + tlength) < limit && Character.isHighSurrogate(s.charAt(start + tlength - 1)) &&
                          Character.isLowSurrogate(s.charAt(start + tlength)));
      }
docs: Compare 16-bit Unicode strings (which may be malformed UTF-16)
  at code point boundaries.
  That is, each edge of a match must not be in the middle of a surrogate pair.
  @param s       The string to match in.
  @param start   The start index of s.
  @param limit   The limit of the subsequence of s being spanned.
  @param t       The substring to be matched in s.
  @param tlength The length of t.