Set<Symbol> requiredSymbols = Maps.filterValues(node.getAssignments(), Predicates.in(node.getEffectiveTupleDomain().getDomains().keySet())).keySet();
requiredAssignmentSymbols = Sets.union(expectedOutputs, requiredSymbols);
}
Map<Symbol, ColumnHandle> newAssignments = Maps.filterKeys(node.getAssignments(), in(requiredAssignmentSymbols));
return new IndexSourceNode(node.getId(), node.getIndexHandle(), node.getTableHandle(), newLookupSymbols, newOutputSymbols, newAssignments, node.getEffectiveTupleDomain());
}