docs: private static void zipFiles(final File file, final File dirToZip, final ZipOutputStream zos,
  		final FilenameFilter fileFilter) throws IOException
  	{
  		if (file.isDirectory())
  		{
  			File[] fList;
  			List<File> foundedFiles;
  			if (null != fileFilter)
  			{
  				final File[] tmpfList = file.listFiles(fileFilter);
  				final List<File> foundedDirs = FileSearchExtensions.listDirs(file);
  				if (0 < foundedDirs.size())
  				{
  					final List<File> tmp = Arrays.asList(tmpfList);
  					foundedDirs.addAll(tmp);
  					foundedFiles = foundedDirs;
  				}
  				else
  				{
  					final List<File> tmp = Arrays.asList(tmpfList);
  					foundedFiles = tmp;
  				}
  			}
  			else
  			{
  				fList = file.listFiles();
  				final List<File> tmp = Arrays.asList(fList);
  				foundedFiles = tmp;
  			}
  			for (int i = 0; i < foundedFiles.size(); i++)
  			{
  				zipFiles(foundedFiles.get(i), dirToZip, zos, fileFilter);
  			}
  		}
  		else
  		{
  			addFile(file, dirToZip, zos);
  		}
  	}