private void createExecutors(InputStream inputStream, Partition partition, MetaComplexEvent metaEvent,
                                 List<VariableExpressionExecutor> executors, SiddhiQueryContext siddhiQueryContext) {
        if (inputStream instanceof SingleInputStream) {
            if (metaEvent instanceof MetaStateEvent) {
                createSingleInputStreamExecutors((SingleInputStream) inputStream, partition,
                        ((MetaStateEvent) metaEvent).getMetaStreamEvent(0), executors, null,
                        siddhiQueryContext);
            } else {
                createSingleInputStreamExecutors((SingleInputStream) inputStream, partition, (MetaStreamEvent)
                        metaEvent, executors, null, siddhiQueryContext);
            }
        } else if (inputStream instanceof JoinInputStream) {
            createJoinInputStreamExecutors((JoinInputStream) inputStream, partition, (MetaStateEvent) metaEvent,
                    executors, siddhiQueryContext);
        } else if (inputStream instanceof StateInputStream) {
            createStateInputStreamExecutors(((StateInputStream) inputStream).getStateElement(), partition,
                    (MetaStateEvent) metaEvent, executors, 0, siddhiQueryContext);
        }
    }
create PartitionExecutors to be used to get partitioning key
modules/siddhi-core/src/main/java/io/siddhi/core/partition/StreamPartitioner.java