docs: public static void main(String[] args) {
          // Parse arguments.
          String coverageDirName = null;
          if (args.length == 0) {
              System.out.println("Incorrect arguments.  Directory with coverage has to be specified.");
              System.exit(1);
          }
          coverageDirName = args[0];
          String mode = null;
          if (args.length > 1) {
              mode = args[1];
          }
          boolean forceCacheUse = false;
          if (args.length > 2) {
              forceCacheUse = args[2].equals(FORCE_CACHE_USE);
          }
  
          Set<String> allClasses = new HashSet<String>();
          Set<String> affectedClasses = new HashSet<String>();
          if (args.length > 3) {
              String options = args[3];
              Config.loadConfig(options, true);
          } else {
              Config.loadConfig();
          }
  
          List<String> nonAffectedClasses = findNonAffectedClasses(coverageDirName, forceCacheUse, allClasses, affectedClasses);
          
          // Print non affected classes.
          printNonAffectedClasses(allClasses, affectedClasses, nonAffectedClasses, mode);
      }