presto-main/src/main/java/io/prestosql/sql/planner/LocalExecutionPlanner.java/Visitor/createDynamicFilterSourceOperatorFactory
class Visitor:        private DynamicFilterSourceOperatorFactory createDynamicFilterSourceOperatorFactory(
                LocalDynamicFilter dynamicFilter,
                JoinNode node,
                PhysicalOperation buildSource,
                LocalExecutionPlanContext context)
        {
            List<DynamicFilterSourceOperator.Channel> filterBuildChannels = dynamicFilter.getBuildChannels().entrySet().stream()
                    .map(entry -> {
                        String filterId = entry.getKey();
                        int index = entry.getValue();
                        Type type = buildSource.getTypes().get(index);
                        return new DynamicFilterSourceOperator.Channel(filterId, type, index);
                    })
                    .collect(Collectors.toList());
            return new DynamicFilterSourceOperatorFactory(
                    context.getNextOperatorId(),
                    node.getId(),
                    dynamicFilter.getTupleDomainConsumer(),
                    filterBuildChannels,
                    getDynamicFilteringMaxPerDriverRowCount(context.getSession()),
                    getDynamicFilteringMaxPerDriverSize(context.getSession()));
        }