private void processAllExpiredEvents(ComplexEventChunk<StreamEvent> streamEventChunk,
                                         WindowState state, long currentTime) {
        MetaStateEvent metaStateEvent = constructExpression(metaStreamEvent, siddhiQueryContext);
        QueryParserHelper.updateVariablePosition(metaStateEvent, variableExpressionExecutors);
        StreamEvent expiredEvent = state.expiredEventQueue.getFirst();
        state.expiredEventQueue.clear();
        while (expiredEvent != null) {
            StreamEvent aExpiredEvent = expiredEvent;
            expiredEvent = expiredEvent.getNext();
            aExpiredEvent.setNext(null);
            processStreamEvent(streamEventChunk, state, currentTime, aExpiredEvent);
        }
        state.expiredEventQueue.reset();
    }
Implementation of {@link WindowProcessor} which represent a Window operating based on a expression.
modules/siddhi-core/src/main/java/io/siddhi/core/query/processor/stream/window/ExpressionWindowProcessor.java