if (edge.getType() == InheritanceGraphEdgeTypes.CLASS_EDGE) return edge.getTarget();
if (edge.getType() == InheritanceGraphEdgeTypes.CLASS_EDGE) { ObjectType supertype = edge.getTarget(); if (!(supertype instanceof ClassType)) throw new IllegalStateException("Class type " + type.getClassName() + " has non-class type " + supertype.getSignature() + " as its superclass");  return (ClassType) supertype; }
	public ObjectType getSuperclass(ObjectType type) throws ClassNotFoundException {		resolveObjectType(type);		for (Iterator<InheritanceGraphEdge> i = inheritanceGraph.outgoingEdgeIterator(type); i.hasNext(); ) {			InheritanceGraphEdge edge = i.next();			if (edge.getType() == InheritanceGraphEdgeTypes.CLASS_EDGE)				return edge.getTarget();		}		throw new UnknownSupertypesException(type);	}