docs: private void recursiveSpecificationsFinder(final File dir, final String packageNamePrefix) throws CodeGenException {
          if (dir.equals(null)) {
              throw new CodeGenException("recursiveSpecificationsFinder called with null pointer");
          }
          final File[] files = dir.listFiles();
          if (files == null) {
              return;
          }
          for(final File entry : files) {
              try {
                  if (entry.isDirectory()) {
                      recursiveSpecificationsFinder(entry, (packageNamePrefix == null) ? entry.getName() : packageNamePrefix + "/" + entry.getName());
                  } else if (entry.getName().endsWith(".json") && ProctorUtils.readJsonFromFile(entry).has("tests")) {
                      processFile(
                              entry,
                              packageNamePrefix == null ? "" : packageNamePrefix.replace("/", "."),
                              entry.getName().substring(0, entry.getName().lastIndexOf(".json")));
                  }
  
              } catch (IOException e) {
                  throw new CodeGenException("Could not read from file " + entry.getName(),e);
              }
          }
      }