docs: private static void includeAffected(Set<String> allClasses, Set<String> affectedClasses, List<File> sortedFiles) {
          Storer storer = Config.createStorer();
          Hasher hasher = Config.createHasher();
  
          NameBasedCheck classCheck = Config.DEBUG_MODE_V != Config.DebugMode.NONE ?
              new DebugNameCheck(storer, hasher, DependencyAnalyzer.CLASS_EXT) :
              new NameBasedCheck(storer, hasher, DependencyAnalyzer.CLASS_EXT);
          NameBasedCheck covCheck = new NameBasedCheck(storer, hasher, DependencyAnalyzer.COV_EXT);
          MethodCheck methodCheck = new MethodCheck(storer, hasher);
          String prevClassName = null;
          for (File file : sortedFiles) {
              String fileName = file.getName();
              String dirName = file.getParent();
              String className = null;
              if (file.isDirectory()) {
                  continue;
              }
              if (fileName.endsWith(DependencyAnalyzer.COV_EXT)) {
                  className = covCheck.includeAll(fileName, dirName);
              } else if (fileName.endsWith(DependencyAnalyzer.CLASS_EXT)) {
                  className = classCheck.includeAll(fileName, dirName);
              } else {
                  className = methodCheck.includeAll(fileName, dirName);
              }
              // Reset after some time to free space.
              if (prevClassName != null && className != null && !prevClassName.equals(className)) {
                  methodCheck.includeAffected(affectedClasses);
                  methodCheck = new MethodCheck(Config.createStorer(), Config.createHasher());
              }
              if (className != null) {
                  allClasses.add(className);
                  prevClassName = className;
              }
          }
          classCheck.includeAffected(affectedClasses);
          covCheck.includeAffected(affectedClasses);
          methodCheck.includeAffected(affectedClasses);
      }