public Iterator<Object[]> query(Map<String, Object> parameterMap, CompiledCondition compiledCondition,
                                    CompiledSelection compiledSelection, Attribute[] outputAttributes)
            throws ConnectionUnavailableException {
        if (abstractRecordTable instanceof AbstractQueryableRecordTable) {
            return ((AbstractQueryableRecordTable) abstractRecordTable).query(parameterMap, compiledCondition,
                    compiledSelection, outputAttributes);
        } else {
            log.error("Record Table " + this.abstractRecordTable.getTableDefinition().getId() +
                    " used is not a Queryable Record Table.");
            return null;
        }
    }
Record Table Handler Callback is used to send events to the {@link AbstractRecordTable} after being handled by
{@link RecordTableHandler}.
modules/siddhi-core/src/main/java/io/siddhi/core/table/record/RecordTableHandlerCallback.java