code: public SparseTypedEdgeSet<T> copy(IntSet vertices) {        
           SparseTypedEdgeSet<T> copy = new SparseTypedEdgeSet<T>(rootVertex);
           TIntObjectIterator<Set<T>> iter = edges.iterator();
           while (iter.hasNext()) {
               iter.advance();
               int v = iter.key();
               if (vertices.contains(v)) {
                   Set<T> types = iter.value();
                   copy.edges.put(v, types);
                   copy.size += types.size();
               }
          }
          return copy;
      }
docs: {@inheritDoc}