docs: @Override
      public LockDataflow analyze(IAnalysisCache analysisCache, MethodDescriptor descriptor) throws CheckedAnalysisException {
          MethodGen methodGen = getMethodGen(analysisCache, descriptor);
          if (methodGen == null) {
              throw new MethodUnprofitableException(descriptor);
          }
          ValueNumberDataflow vnaDataflow = getValueNumberDataflow(analysisCache, descriptor);
          DepthFirstSearch dfs = getDepthFirstSearch(analysisCache, descriptor);
          CFG cfg = getCFG(analysisCache, descriptor);
  
          LockAnalysis analysis = new LockAnalysis(methodGen, vnaDataflow, dfs);
          LockDataflow dataflow = new LockDataflow(cfg, analysis);
          dataflow.execute();
          return dataflow;
  
      }