private static void printContext(Object caller, Context<Object> context) {
    String message = ErrorUtils.printErrorMessage("%s:%s:%s",
        "",
        context.getCurrentIndex(),
        context.getCurrentIndex() + 1,
        context.getInputBuffer());
    System.err.println("*** " + caller + message + "\n\t" + Joiner.on("\n\t - ").join(context.getValueStack()));
  }
Parboiled extraction for the sake of AST building.
trees/src/org/immutables/trees/ast/Extractions.java