code: private static boolean resemblesPropertyPattern(RuleCharacterIterator chars,
              int iterOpts) {
          boolean result = false;
          iterOpts &= ~RuleCharacterIterator.PARSE_ESCAPES;
          Object pos = chars.getPos(null);
          int c = chars.next(iterOpts);
          if (c == '[' || c == '\\') {
              int d = chars.next(iterOpts & ~RuleCharacterIterator.SKIP_WHITESPACE);
              result = (c == '[') ? (d == ':') :
                  (d == 'N' || d == 'p' || d == 'P');
          }
          chars.setPos(pos);
          return result;
      }
docs: Return true if the given iterator appears to point at a
  property pattern.  Regardless of the result, return with the
  iterator unchanged.
  @param chars iterator over the pattern characters.  Upon return
  it will be unchanged.
  @param iterOpts RuleCharacterIterator options