@Override
    public void send(ComplexEventChunk updateOrAddEventChunk, int noOfEvents) {
        if (getSiddhiDebugger() != null) {
            getSiddhiDebugger().checkBreakPoint(getQueryName(),
                    SiddhiDebugger.QueryTerminal.OUT, updateOrAddEventChunk.getFirst());
        }
        updateOrAddEventChunk.reset();
        if (updateOrAddEventChunk.hasNext()) {
            ComplexEventChunk<StateEvent> updateOrAddStateEventChunk = constructMatchingStateEventChunk
                    (updateOrAddEventChunk, convertToStreamEvent, stateEventFactory,
                            matchingStreamIndex, streamEventFactory, streamEventConverter);
            constructMatchingStateEventChunk(updateOrAddEventChunk, convertToStreamEvent, stateEventFactory,
                    matchingStreamIndex, streamEventFactory, streamEventConverter);
            table.updateOrAddEvents(updateOrAddStateEventChunk, compiledCondition, compiledUpdateSet,
                    addingStreamEventExtractor, noOfEvents);
        }
    }
Implementation of {@link OutputCallback} to receive processed Siddhi events from
Siddhi queries and insert/update data into a {@link Table}
based on received events and condition.
modules/siddhi-core/src/main/java/io/siddhi/core/query/output/callback/UpdateOrInsertTableCallback.java