Source:
<code>public HashBuilderOperatorFactory( int operatorId, PlanNodeId planNodeId, List<Type> types, List<Integer> outputChannels, Map<Symbol, Integer> layout, List<Integer> hashChannels, Optional<Integer> preComputedHashChannel, boolean outer, Optional<JoinFilterFunctionFactory> filterFunctionFactory, Optional<Integer> sortChannel, List<JoinFilterFunctionFactory> searchFunctionFactories, int expectedPositions, int partitionCount, PagesIndex.Factory pagesIndexFactory) { this.operatorId = operatorId; this.planNodeId = requireNonNull(planNodeId, "planNodeId is null"); checkArgument(!sortChannel.isPresent() || filterFunctionFactory.isPresent(), "filterFunction must be set to use sortChannel"); checkArgument(sortChannel.isPresent() != searchFunctionFactories.isEmpty(), "both or none sortChannel and searchFunctionFactories must be set"); checkArgument(Integer.bitCount(partitionCount) == 1, "partitionCount must be a power of 2"); lookupSourceFactory = new PartitionedLookupSourceFactory( types, outputChannels.stream() .map(types::get) .collect(toImmutableList()), hashChannels, partitionCount, requireNonNull(layout, "layout is null"), outer); this.outputChannels = ImmutableList.copyOf(requireNonNull(outputChannels, "outputChannels is null")); this.hashChannels = ImmutableList.copyOf(requireNonNull(hashChannels, "hashChannels is null")); this.preComputedHashChannel = requireNonNull(preComputedHashChannel, "preComputedHashChannel is null"); this.filterFunctionFactory = requireNonNull(filterFunctionFactory, "filterFunctionFactory is null"); this.sortChannel = requireNonNull(sortChannel, "sortChannel can not be null"); <START> this.searchFunctionFactories = requireNonNull(searchFunctionFactories, "searchFunctionFactories is null"); <END> this.pagesIndexFactory = requireNonNull(pagesIndexFactory, "pagesIndexFactory is null"); this.expectedPositions = expectedPositions; }</code><technical_language>+ ImmutableList.copyOf()</technical_language>

Target:
public HashBuilderOperatorFactory( int operatorId, PlanNodeId planNodeId, List<Type> types, List<Integer> outputChannels, Map<Symbol, Integer> layout, List<Integer> hashChannels, Optional<Integer> preComputedHashChannel, boolean outer, Optional<JoinFilterFunctionFactory> filterFunctionFactory, Optional<Integer> sortChannel, List<JoinFilterFunctionFactory> searchFunctionFactories, int expectedPositions, int partitionCount, PagesIndex.Factory pagesIndexFactory) { this.operatorId = operatorId; this.planNodeId = requireNonNull(planNodeId, "planNodeId is null"); requireNonNull(sortChannel, "sortChannel can not be null"); requireNonNull(searchFunctionFactories, "searchFunctionFactories is null"); checkArgument(sortChannel.isPresent() != searchFunctionFactories.isEmpty(), "both or none sortChannel and searchFunctionFactories must be set"); checkArgument(Integer.bitCount(partitionCount) == 1, "partitionCount must be a power of 2"); lookupSourceFactory = new PartitionedLookupSourceFactory( types, outputChannels.stream() .map(types::get) .collect(toImmutableList()), hashChannels, partitionCount, requireNonNull(layout, "layout is null"), outer); this.outputChannels = ImmutableList.copyOf(requireNonNull(outputChannels, "outputChannels is null")); this.hashChannels = ImmutableList.copyOf(requireNonNull(hashChannels, "hashChannels is null")); this.preComputedHashChannel = requireNonNull(preComputedHashChannel, "preComputedHashChannel is null"); this.filterFunctionFactory = requireNonNull(filterFunctionFactory, "filterFunctionFactory is null"); this.sortChannel = sortChannel; this.searchFunctionFactories = ImmutableList.copyOf(searchFunctionFactories); this.pagesIndexFactory = requireNonNull(pagesIndexFactory, "pagesIndexFactory is null"); this.expectedPositions = expectedPositions; }