src/main/java/com/github/fge/grappa/run/ParseRunner.java
@Override
    public <T> boolean match(final MatcherContext<T> context)
    {
        final Matcher matcher = context.getMatcher();

        final PreMatchEvent<T> preMatchEvent = new PreMatchEvent<>(context);
        bus.post(preMatchEvent);

        if (throwable != null)
            throw new GrappaException("parsing listener error (before match)",
                throwable);

        // FIXME: is there any case at all where context.getMatcher() is null?
        @SuppressWarnings("ConstantConditions")
        final boolean match = matcher.match(context);

        final MatchContextEvent<T> postMatchEvent = match
            ? new MatchSuccessEvent<>(context)
            : new MatchFailureEvent<>(context);

        bus.post(postMatchEvent);

        if (throwable != null)
            throw new GrappaException("parsing listener error (after match)",
                throwable);

        return match;
    }
@Override
    public <T> boolean match(final MatcherContext<T> context)
    {
        final Matcher matcher = context.getMatcher();

        final PreMatchEvent<T> preMatchEvent = new PreMatchEvent<>(context);
        bus.post(preMatchEvent);

        if (throwable != null)
            throw new GrappaException("parsing listener error (before match)",
                throwable);

        // FIXME: is there any case at all where context.getMatcher() is null?
        @SuppressWarnings("ConstantConditions")
        final boolean match = matcher.match(context);

        final MatchContextEvent<T> postMatchEvent = match
            ? new MatchSuccessEvent<>(context)
            : new MatchFailureEvent<>(context);

        bus.post(postMatchEvent);

        if (throwable != null)
            throw new GrappaException("parsing listener error (after match)",
                throwable);

        return match;
    }
@ Override public < T > boolean match ( final MatcherContext < T > context ) { final Matcher matcher = context . getMatcher ( ) ; final PreMatchEvent < T > preMatchEvent = new PreMatchEvent <> ( context ) ; bus . post ( preMatchEvent ) ; if ( throwable != null ) throw new GrappaException ( "parsing listener error (before match)" , throwable ) ; // FIXME: is there any case at all where context.getMatcher() is null? @ SuppressWarnings ( "ConstantConditions" ) final boolean match = matcher . match ( context ) ; final MatchContextEvent < T > postMatchEvent = match ? new MatchSuccessEvent <> ( context ) : new MatchFailureEvent <> ( context ) ; bus . post ( postMatchEvent ) ; if ( throwable != null ) throw new GrappaException ( "parsing listener error (after match)" , throwable ) ; return match ; }
Internal method. DO NOT USE!

@param context the MatcherContext
@param <T> type parameter of the values on the parser stack
@return true on a match; false otherwise
Internal method . DO NOT USE!