@Override
    public void delete(StateEvent deletingEvent, IndexedEventHolder indexedEventHolder) {
        Collection<StreamEvent> leftStreamEvents = leftCollectionExecutor.findEvents(deletingEvent, indexedEventHolder);
        if (leftStreamEvents == null) {
            exhaustiveCollectionExecutor.delete(deletingEvent, indexedEventHolder);
        } else {
            Collection<StreamEvent> rightStreamEvents = rightCollectionExecutor.findEvents(deletingEvent,
                    indexedEventHolder);
            if (rightStreamEvents == null) {
                exhaustiveCollectionExecutor.delete(deletingEvent, indexedEventHolder);
            } else {
                leftCollectionExecutor.delete(deletingEvent, indexedEventHolder);
                rightCollectionExecutor.delete(deletingEvent, indexedEventHolder);
            }
        }
    }
Implementation of {@link CollectionExecutor} which handles or condition
modules/siddhi-core/src/main/java/io/siddhi/core/util/collection/executor/OrCollectionExecutor.java