@Override
    public Object visitLeft_absent_pattern_source(SiddhiQLParser.Left_absent_pattern_sourceContext ctx) {
//    left_absent_pattern_source
//    : EVERY? '('left_absent_pattern_source')' 
//    | every_absent_pattern_source '->' every_pattern_source_chain
//    | left_absent_pattern_source '->' left_absent_pattern_source
//    | left_absent_pattern_source '->' every_absent_pattern_source
//    | every_pattern_source_chain '->' left_absent_pattern_source
//    ;

        if (ctx.left_absent_pattern_source().size() == 1 && ctx.every_absent_pattern_source() == null &&
                ctx.every_pattern_source_chain() == null) {
            // EVERY? '('left_absent_pattern_source')' 
            StateElement stateElement = (StateElement) visit(ctx.left_absent_pattern_source(0));
            if (ctx.EVERY() != null) {
                stateElement = new EveryStateElement(stateElement);
            }
            populateQueryContext(stateElement, ctx);
            return stateElement;
        } else {
            NextStateElement nextStateElement = new NextStateElement((StateElement) visit(ctx.getChild(0)),
                    (StateElement) visit(ctx.getChild(2)));
            populateQueryContext(nextStateElement, ctx);
            return nextStateElement;
        }
    }
{@inheritDoc}
<p>The default implementation returns the result of calling
{@link #visitChildren} on {@code ctx}.</p>

@param ctx
modules/siddhi-query-compiler/src/main/java/io/siddhi/query/compiler/internal/SiddhiQLBaseVisitorImpl.java