vertex.setJavaClass(javaClass);
	private void addToClassHierarchyGraph(JavaClass appClass) {		if (DEBUG_HIERARCHY) {			System.out.println("Adding application class: " + appClass.getClassName());		}				LinkedList<WorkListItem> workList = new LinkedList<WorkListItem>();		workList.add(new WorkListItem(appClass));				while (!workList.isEmpty()) {			WorkListItem item = workList.removeFirst();			ClassHierarchyGraphVertex vertex = classHierarchyGraph.addVertex(					item.getClassName(), item.getVertexType());			if (item.isApplication())				vertex.setApplication(true);						if (item.getSubType() != null) {				if (DEBUG_HIERARCHY) {					System.out.println("Class hierarchy graph edge: " +							item.getSubType().getClassName() +							" -> " +							vertex.getClassName());				}				classHierarchyGraph.createEdge(item.getSubType(), vertex);			}						if (vertex.isFinished()) {				// Visited this guy's superclasses/superinterfaces already				continue;			}						// Find the representation of this class or interface in order			// to find superclasses/superinterfaces			JavaClass javaClass = item.getJavaClass();			if (javaClass == null) {				try {					javaClass = Repository.lookupClass(item.getClassName());				} catch (ClassNotFoundException e) {					vertex.setMissing(true);					continue;				}			}			// Add superclass/superinterface edges			String superclassName = javaClass.getSuperclassName();			if (superclassName != null) {				workList.add(new WorkListItem(						superclassName,						ClassHierarchyGraphVertexType.CLASS_VERTEX,						vertex));			}						String[] interfaceNameList = javaClass.getInterfaceNames();			for (int i = 0; i < interfaceNameList.length; ++i) {				workList.add(new WorkListItem(						interfaceNameList[i],						ClassHierarchyGraphVertexType.INTERFACE_VERTEX,						vertex));			}			// Now this vertex will have its superclass/superinterface edges discovered			vertex.setFinished(true);		}	}