docs: @Override
      public MethodGen analyze(IAnalysisCache analysisCache, MethodDescriptor descriptor) throws CheckedAnalysisException {
          Method method = getMethod(analysisCache, descriptor);
  
          if (method.getCode() == null) {
              return null;
          }
          XMethod xmethod =  XFactory.createXMethod(descriptor);
          if (xmethod.usesInvokeDynamic() && false) {
              AnalysisContext.currentAnalysisContext().analysisSkippedDueToInvokeDynamic(xmethod);
              return null;
          }
  
          try {
              AnalysisContext analysisContext = AnalysisContext.currentAnalysisContext();
              JavaClass jclass = getJavaClass(analysisCache, descriptor.getClassDescriptor());
              ConstantPoolGen cpg = getConstantPoolGen(analysisCache, descriptor.getClassDescriptor());
  
              String methodName = method.getName();
              int codeLength = method.getCode().getCode().length;
              String superclassName = jclass.getSuperclassName();
              if (codeLength > 6000 && Const.STATIC_INITIALIZER_NAME.equals(methodName) && "java.lang.Enum".equals(superclassName)) {
                  analysisContext.getLookupFailureCallback().reportSkippedAnalysis(
                          new JavaClassAndMethod(jclass, method).toMethodDescriptor());
                  return null;
              }
              if (analysisContext.getBoolProperty(AnalysisFeatures.SKIP_HUGE_METHODS)) {
                  if (codeLength > 6000 || (Const.STATIC_INITIALIZER_NAME.equals(methodName) || "getContents".equals(methodName)) && codeLength > 2000) {
                      analysisContext.getLookupFailureCallback().reportSkippedAnalysis(
                              new JavaClassAndMethod(jclass, method).toMethodDescriptor());
                      return null;
                  }
              }
  
              return new MethodGen(method, jclass.getClassName(), cpg);
          } catch (Exception e) {
              AnalysisContext.logError("Error constructing methodGen", e);
              return null;
          }
      }