code: public GenericEdgeSet<T> copy(IntSet vertices) {        
          GenericEdgeSet<T> copy = new GenericEdgeSet<T>(rootVertex);
          for (Map.Entry<Integer,Set<T>> e : vertexToEdges.asMap().entrySet()) {
              if (vertices.contains(e.getKey())) {
                  copy.vertexToEdges.putMany(e.getKey(), e.getValue());
              }
          }
          return copy;
      }
docs: {@inheritDoc}