@Override
    public Object visitRight_absent_sequence_source(SiddhiQLParser.Right_absent_sequence_sourceContext ctx) {
//        right_absent_sequence_source
//        : '('right_absent_sequence_source')' 
//        | sequence_source_chain ',' basic_absent_pattern_source
//        | right_absent_sequence_source ',' right_absent_sequence_source
//        | basic_absent_pattern_source ',' right_absent_sequence_source
//        | right_absent_sequence_source ',' sequence_source_chain
//        ;

        if (ctx.right_absent_sequence_source().size() == 1 && ctx.basic_absent_pattern_source() == null &&
                ctx.sequence_source_chain() == null) {
            // '('right_absent_pattern_source')' 
            StateElement stateElement = (StateElement) visit(ctx.right_absent_sequence_source(0));
            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