/**
   * Deletes the contents of the temporary files folder, including subfolders
   *
   * @param monitor progress monitor
   * @throws CoreException if an error occurs
   */
  public void cleanTempFiles(IProgressMonitor monitor) throws CoreException {
    if (tempDir != null && tempDir.exists()) {
      monitor.beginTask(
          TexlipsePlugin.getResourceString("builderSubTaskClean"), tempDir.members().length);
      monitor.subTask(TexlipsePlugin.getResourceString("builderSubTaskCleanTemp"));

      // Retrieve current temp folder content
      final Set<IPath> currentTmpFiles = tracking.getTempFolderNames(monitor);

      // Perform deletion
      deleteFiles(currentTmpFiles, monitor);
    }
    tracking.clearSnapshots();
  }