code: public final <To> Parser<To> next(
        final Function<? super T, ? extends Parser<? extends To>> map) {
      return new Parser<To>() {
        @Override boolean apply(ParseContext ctxt) {
          return Parser.this.apply(ctxt) && runNext(ctxt);
        }
        @Override public String toString() {
          return map.toString();
        }
        private boolean runNext(ParseContext state) {
          T from = Parser.this.getReturn(state);
          return map.apply(from).apply(state);
        }
      };
    }
docs: A {@link Parser} that executes {@code this}, maps the result using {@code map} to another {@code Parser} object
  to be executed as the next step.