docs: public File next() throws IOException {
          if (stack.isEmpty()) {
              current = null;
              return null;
          } else {
              current = stack.removeLast();
              if (current.isDirectory()) {
                  if (stack.size() < rootCount) {
                      rootCount = stack.size();
                  }
                  addReverse(current.listFiles());
                  return next();
              } else {
                  return current;
              }
          }
      }