docs: @Override
      public void visitClass(ClassDescriptor classDescriptor) throws CheckedAnalysisException {
          IAnalysisCache analysisCache = Global.getAnalysisCache();
  
          JavaClass jclass = analysisCache.getClassAnalysis(JavaClass.class, classDescriptor);
          classContext = analysisCache.getClassAnalysis(ClassContext.class, classDescriptor);
  
          for (Method m : classContext.getMethodsInCallOrder()) {
              if (m.getCode() == null) {
                  continue;
              }
              method = m;
  
              MethodDescriptor methodDescriptor = BCELUtil.getMethodDescriptor(jclass, method);
  
              // Try to get MethodGen. If we can't get one,
              // then this method should be skipped.
              MethodGen methodGen = analysisCache.getMethodAnalysis(MethodGen.class, methodDescriptor);
              if (methodGen == null) {
                  continue;
              }
  
              CFG cfg = analysisCache.getMethodAnalysis(CFG.class, methodDescriptor);
              visitMethodCFG(methodDescriptor, cfg);
          }
      }