docs: public static List<File> loopFiles(File file, FileFilter fileFilter) {
  		List<File> fileList = new ArrayList<File>();
  		if (null == file) {
  			return fileList;
  		} else if (false == file.exists()) {
  			return fileList;
  		}
  
  		if (file.isDirectory()) {
  			final File[] subFiles = file.listFiles();
  			if (ArrayUtil.isNotEmpty(subFiles)) {
  				for (File tmp : subFiles) {
  					fileList.addAll(loopFiles(tmp, fileFilter));
  				}
  			}
  		} else {
  			if (null == fileFilter || fileFilter.accept(file)) {
  				fileList.add(file);
  			}
  		}
  
  		return fileList;
  	}