docs: public static void eachFileRecurse(final File self, final FileType fileType, @ClosureParams(value = SimpleType.class, options = "java.io.File") final Closure closure)
              throws FileNotFoundException, IllegalArgumentException {
          checkDir(self);
          final File[] files = self.listFiles();
          // null check because of http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4803836
          if (files == null) return;
          for (File file : files) {
              if (file.isDirectory()) {
                  if (fileType != FileType.FILES) closure.call(file);
                  eachFileRecurse(file, fileType, closure);
              } else if (fileType != FileType.DIRECTORIES) {
                  closure.call(file);
              }
          }
      }