code: public static Parser<Token> adjacent(Parser<List<Token>> parser, final Parser<?> otherwise) {
      return parser.next(tokens -> {
          if (tokens.isEmpty()) return Parsers.always();
          int offset = tokens.get(0).index();
          for (Token token : tokens) {
            if (token.index() != offset) {
              return otherwise;
            }
            offset += token.length();
          }
          return Parsers.always();
        }).atomic().source().token();
    }
docs: A {@link Parser} that succeeds only if the {@link Token} objects in the {@link List} are
  adjacent.