code: @SuppressWarnings("fallthrough")
      protected DCIdentifier identifier() throws ParseException {
          skipWhitespace();
          int pos = bp;
  
          if (isJavaIdentifierStart(ch)) {
              Name name = readJavaIdentifier();
              return m.at(pos).newIdentifierTree(name);
          }
  
          throw new ParseException("dc.identifier.expected");
      }
docs: Read Java identifier
  Matching pairs of { } are skipped; the text is terminated by the first
  unmatched }. It is an error if the beginning of the next tag is detected.