code: @Override
      public void addMatchSetTo(UnicodeSet toUnionTo) {
          int ch;
          for (int i=0; i<pattern.length(); i+=UTF16.getCharCount(ch)) {
              ch = UTF16.charAt(pattern, i);
              UnicodeMatcher matcher = data.lookupMatcher(ch);
              if (matcher == null) {
                  toUnionTo.add(ch);
              } else {
                  matcher.addMatchSetTo(toUnionTo);
              }
          }
      }
docs: Implementation of UnicodeMatcher API.  Union the set of all
  characters that may be matched by this object into the given
  set.
  @param toUnionTo the set into which to union the source characters