code: public Parser<T> label(final String name) {
      return new Parser<T>() {
        @Override public Parser<T> label(String overrideName) {
          return Parser.this.label(overrideName);
        }
        @Override boolean apply(ParseContext ctxt) {
          return ctxt.applyNewNode(Parser.this, name);
        }
        @Override public String toString() {
          return name;
        }
      };
    }
docs: A {@link Parser} that reports reports an error about {@code name} expected, if {@code this} fails with no partial
  match.