public boolean parseNameClass() {
    PsiBuilder.Marker marker = myBuilder.mark();

    if (!parseNameClassPart()) {
      marker.drop();
      return false;
    }

    if (currentToken() == PIPE) {
      do {
        advance();
        if (!parseNameClassPart()) {
          error(RelaxngBundle.message("relaxng.parse.error.name-class-expected"));
        }
      } while (currentToken() == PIPE);
      marker.done(RncElementTypes.NAME_CLASS_CHOICE);
    } else {
      marker.drop();
    }
    return true;
  }
public boolean parseNameClass()