docs: private ClassVertex addClassAndGetClassVertex(XClass xclass) {
          if (xclass == null) {
              throw new IllegalStateException();
          }
  
          LinkedList<XClass> workList = new LinkedList<>();
          workList.add(xclass);
  
          while (!workList.isEmpty()) {
              XClass work = workList.removeFirst();
              ClassVertex vertex = classDescriptorToVertexMap.get(work.getClassDescriptor());
              if (vertex != null && vertex.isFinished()) {
                  // This class has already been processed.
                  continue;
              }
  
              if (vertex == null) {
                  vertex = ClassVertex.createResolvedClassVertex(work.getClassDescriptor(), work);
                  addVertexToGraph(work.getClassDescriptor(), vertex);
              }
  
              addSupertypeEdges(vertex, workList);
  
              vertex.setFinished(true);
          }
  
          return classDescriptorToVertexMap.get(xclass.getClassDescriptor());
      }