public ParsingResult<V> run(InputBuffer inputBuffer) { checkArgNotNull(inputBuffer, "inputBuffer"); resetValueStack(); MatcherContext<V> rootContext = createRootContext(inputBuffer, this, true); boolean matched = rootContext.runMatcher(); return createParsingResult(matched, rootContext); }