public void updateOrAddEvents(ComplexEventChunk<StateEvent> updateOrAddingEventChunk,
                                  CompiledCondition compiledCondition,
                                  CompiledUpdateSet compiledUpdateSet,
                                  AddingStreamEventExtractor addingStreamEventExtractor, int noOfEvents) {
        try {
            if (throughputTrackerUpdateOrInsert != null &&
                    Level.BASIC.compareTo(siddhiAppContext.getRootMetricsLevel()) <= 0) {
                throughputTrackerUpdateOrInsert.eventsIn(noOfEvents);
            }
            if (latencyTrackerUpdateOrInsert != null &&
                    Level.BASIC.compareTo(siddhiAppContext.getRootMetricsLevel()) <= 0) {
                latencyTrackerUpdateOrInsert.markIn();
            }
            updateOrAdd(updateOrAddingEventChunk, compiledCondition, compiledUpdateSet,
                    addingStreamEventExtractor);
        } finally {
            if (latencyTrackerUpdateOrInsert != null &&
                    Level.BASIC.compareTo(siddhiAppContext.getRootMetricsLevel()) <= 0) {
                latencyTrackerUpdateOrInsert.markOut();
            }
        }
    }
Interface class to represent Tables in Siddhi. There are multiple implementations. Ex: {@link InMemoryTable}. Table
will support basic operations of add, delete, update, update or add and contains. *
modules/siddhi-core/src/main/java/io/siddhi/core/table/Table.java