public void process(List<ComplexEventChunk> complexEventChunks) {
        List<ComplexEventChunk> returnEventChunks = new ArrayList<>(complexEventChunks.size());
        for (ComplexEventChunk complexEventChunk : complexEventChunks) {
            if (complexEventChunk.getFirst() != null) {
                ComplexEventChunk returnEventChunk;
                if (complexEventChunk instanceof SelectorTypeComplexEventChunk &&
                        ((SelectorTypeComplexEventChunk) complexEventChunk).isProcessPassThrough()) {
                    returnEventChunk = executePassThrough(complexEventChunk);
                } else {
                    returnEventChunk = execute(complexEventChunk);
                }
                if (returnEventChunk != null) {
                    returnEventChunks.add(returnEventChunk);
                }
            }
        }
        if (!returnEventChunks.isEmpty()) {
            outputRateLimiter.process(returnEventChunks);
        }
    }
Processor implementation representing selector portion of the Siddhi query.
modules/siddhi-core/src/main/java/io/siddhi/core/query/selector/QuerySelector.java