private Set<ClassDescriptor> computeKnownSubtypes(ClassDescriptor classDescriptor) throws ClassNotFoundException {
  LinkedList<ClassVertex> workList=new LinkedList<ClassVertex>();
  ClassVertex startVertex=resolveClassVertex(classDescriptor);
  workList.addLast(startVertex);
  Set<ClassDescriptor> result=new HashSet<ClassDescriptor>();
  while (!workList.isEmpty()) {
    ClassVertex current=workList.removeFirst();
    if (result.contains(current.getClassDescriptor())) {
      continue;
    }
    result.add(current.getClassDescriptor());
    Iterator<InheritanceEdge> i=graph.incomingEdgeIterator(current);
    while (i.hasNext()) {
      InheritanceEdge edge=i.next();
      workList.addLast(edge.getSource());
    }
  }
  return new HashSet<ClassDescriptor>(result);
}

private Set < ClassDescriptor > computeKnownSubtypes ( ClassDescriptor classDescriptor ) throws ClassNotFoundException { LinkedList < ClassVertex > workList = new LinkedList < ClassVertex > ( ) ; ClassVertex startVertex = resolveClassVertex ( classDescriptor ) ; workList . addLast ( startVertex ) ; Set < ClassDescriptor > result = new HashSet < ClassDescriptor > ( ) ; while ( ! workList . isEmpty ( ) ) { ClassVertex current = workList . removeFirst ( ) ; if ( result . contains ( current . getClassDescriptor ( ) ) ) { continue ; } result . add ( current . getClassDescriptor ( ) ) ; Iterator < InheritanceEdge > i = graph . incomingEdgeIterator ( current ) ; while ( i . hasNext ( ) ) { InheritanceEdge edge = i . next ( ) ; workList . addLast ( edge . getSource ( ) ) ; } } return new HashSet < ClassDescriptor > ( result ) ; }
compute set of known subtypes of class named by given classdescriptor .
