code: public void clean() throws BackupException
     {
        try
        {
           SecurityHelper.doPrivilegedExceptionAction(new PrivilegedExceptionAction<Void>()
           {
              public Void run() throws BackupException
              {
                 doBackup(tempFile);
                 doClean();
                 return null;
              }
           });
        }
        catch (PrivilegedActionException e)
        {
           Throwable cause = e.getCause();
           if (cause instanceof BackupException)
           {
              throw (BackupException)cause;
           }
           else
           {
              throw new BackupException(cause);
           }
        }
     }
docs: {@inheritDoc}