private void createJoinInputStreamExecutors(JoinInputStream inputStream, Partition partition,
                                                MetaStateEvent metaEvent, List<VariableExpressionExecutor> executors,
                                                SiddhiQueryContext siddhiQueryContext) {
        createExecutors(inputStream.getLeftInputStream(), partition, metaEvent.getMetaStreamEvent(0), executors,
                siddhiQueryContext);
        int size = executors.size();
        for (VariableExpressionExecutor variableExpressionExecutor : executors) {
            variableExpressionExecutor.getPosition()[SiddhiConstants.STREAM_EVENT_CHAIN_INDEX] = 0;
        }
        createExecutors(inputStream.getRightInputStream(), partition, metaEvent.getMetaStreamEvent(1), executors,
                siddhiQueryContext);
        for (int i = size; i < executors.size(); i++) {
            executors.get(i).getPosition()[SiddhiConstants.STREAM_EVENT_CHAIN_INDEX] = 1;
        }

    }
create PartitionExecutors to be used to get partitioning key
modules/siddhi-core/src/main/java/io/siddhi/core/partition/StreamPartitioner.java