code: private static void find(List<File> files, File path, Boolean recursive) {
          if (path.isDirectory()) {
              // iterate over files
              for (File file : path.listFiles()) {
                  if (recursive || !file.isDirectory()) {
                      find(files, file, recursive);
                  }
              }
          } else {
              // process the file
              files.add(path);
          }
      }
docs: *
  A private helper function for building the results for public Find.
  @param files
  @param path
  @param recursive