@Override
    public void init(TableDefinition tableDefinition, StreamEventFactory storeEventPool,
                     StreamEventCloner storeEventCloner, ConfigReader configReader, SiddhiAppContext
                             siddhiAppContext, RecordTableHandler recordTableHandler) {
        if (recordTableHandler != null) {
            recordTableHandler.init(tableDefinition, new RecordTableHandlerCallback(this),
                    siddhiAppContext);
        }
        this.recordTableHandler = recordTableHandler;
        this.storeEventPool = storeEventPool;
        init(tableDefinition, configReader);
        initCache(tableDefinition, siddhiAppContext, storeEventCloner, configReader);
    }
An abstract implementation of table. Abstract implementation will handle {@link ComplexEventChunk} so that
developer can directly work with event data.
modules/siddhi-core/src/main/java/io/siddhi/core/table/record/AbstractRecordTable.java