private List<File> getMinifyFiles(List<File> filesToMinify, List<File> outFiles) {
    if (outFiles != null && outFiles.size() > 0) {
      getLog().info("About to exclude the following files:  " + FileUtilities
          .getCommaSeparatedListOfFileNames(outFiles));

      List<File> filesToMinifyMinusDestFile = Lists.newArrayList();
      for (File file : filesToMinify) {
        if (file.isDirectory()) {
          filesToMinifyMinusDestFile.addAll(FileUtilities.directoryToFileList(file));
        } else {
          filesToMinifyMinusDestFile.add(file);
        }
      }

      for (File outFile : outFiles) {
        if (outFile.isDirectory()) {
          if (outFile.isDirectory()) {
            filesToMinifyMinusDestFile.removeAll(FileUtilities.directoryToFileList(outFile));
          } else {
            filesToMinifyMinusDestFile.remove(outFile);
          }
        }
      }
      return filesToMinifyMinusDestFile;
    } else {
      getLog().info("No file to exclude.");
      return filesToMinify;
    }
  }