code: @Override
      @SuppressWarnings("unchecked")
      public void visitCode(final Code obj) {
          stack.resetForMethodEntry(this);
          thisClsAccessCount = 0;
          if (Values.STATIC_INITIALIZER.equals(methodName)) {
              return;
          }
  
          clsAccessCount = new HashMap<>();
          super.visitCode(obj);
  
          if (clsAccessCount.isEmpty()) {
              return;
          }
          Map.Entry<String, BitSet>[] envies = clsAccessCount.entrySet().toArray(new Map.Entry[clsAccessCount.size()]);
          Arrays.sort(envies, ACCESS_COUNT_COMPARATOR);
  
          Map.Entry<String, BitSet> bestEnvyEntry = envies[0];
          int bestEnvyCount = bestEnvyEntry.getValue().cardinality();
          if (bestEnvyCount < minEnvy) {
              return;
          }
  
          double bestPercent = ((double) bestEnvyCount) / ((double) (bestEnvyCount + thisClsAccessCount));
  
          if (bestPercent > envyPercent) {
              String bestEnvy = bestEnvyEntry.getKey();
              if (implementsCommonInterface(bestEnvy)) {
                  return;
              }
  
              if (envies.length > 1) {
                  int runnerUpEnvyCount = 0;
                  for (int i = 1; i < envies.length; i++) {
                      runnerUpEnvyCount += envies[i].getValue().cardinality();
                  }
                  if ((2 * runnerUpEnvyCount) > bestEnvyCount) {
                      return;
                  }
              }
  
              bugReporter.reportBug(new BugInstance(this, BugType.CE_CLASS_ENVY.name(), NORMAL_PRIORITY).addClass(this).addMethod(this)
                      .addSourceLineRange(this, 0, obj.getCode().length - 1).addString(bestEnvy));
          }
      }
docs: overrides the visitor to look for the method that uses another class the most, and if it exceeds the threshold reports it
  
  @param obj
  the code that is currently being parsed