presto-main/src/main/java/io/prestosql/operator/exchange/LocalExchange.java/LocalExchangeFactory/LocalExchangeFactory
class LocalExchangeFactory:        public LocalExchangeFactory(
                PartitioningHandle partitioning,
                int defaultConcurrency,
                List<Type> types,
                List<Integer> partitionChannels,
                Optional<Integer> partitionHashChannel,
                PipelineExecutionStrategy exchangeSourcePipelineExecutionStrategy,
                DataSize maxBufferedBytes)
        {
            this.partitioning = requireNonNull(partitioning, "partitioning is null");
            this.types = requireNonNull(types, "types is null");
            this.partitionChannels = requireNonNull(partitionChannels, "partitioningChannels is null");
            this.partitionHashChannel = requireNonNull(partitionHashChannel, "partitionHashChannel is null");
            this.exchangeSourcePipelineExecutionStrategy = requireNonNull(exchangeSourcePipelineExecutionStrategy, "exchangeSourcePipelineExecutionStrategy is null");
            this.maxBufferedBytes = requireNonNull(maxBufferedBytes, "maxBufferedBytes is null");

            this.bufferCount = computeBufferCount(partitioning, defaultConcurrency, partitionChannels);
        }