code: public static <T> Deps<T> getCutoffDeps(final Set<T> inputSet, final Deps<T> deps) {
          Deps<T> cutoffDeps = new Deps<T>() {
              @Override
              public Collection<T> getDeps(T x) {                
                  HashSet<T> pruned = new HashSet<T>(deps.getDeps(x));
                  pruned.removeAll(inputSet);
                  return pruned;
              }
          };
          return cutoffDeps;
      }
docs: Gets a new Deps graph where each node in the input set is removed from the graph.