Set<Symbol> filteringSourceInputs = ImmutableSet.<Symbol>builder()
.add(node.getFilteringSourceJoinSymbol())
.build();
PlanNode source = planRewriter.rewrite(node.getSource(), sourceInputs);
PlanNode filteringSource = planRewriter.rewrite(node.getFilteringSource(), filteringSourceInputs);
return new SemiJoinNode(node.getId(), source, filteringSource, node.getSourceJoinSymbol(), node.getFilteringSourceJoinSymbol(), node.getSemiJoinOutput());
}