code: protected void restoreWorkspace() throws Throwable
     {
        boolean restored = true;
        RepositoryImpl repository = (RepositoryImpl)repositoryService.getRepository(repositoryName);
        try
        {
           RepositoryEntry reEntry = repository.getConfiguration();
           backupManager.restore(new BackupChainLog(backupChainLogFile), reEntry.getName(), wEntry, false);
        }
        catch (InvalidItemStateException e)
        {
           restored = false;
           throw new WorkspaceRestoreExeption("Workspace '" + "/" + repositoryName + "/" + wEntry.getName()
              + "' can not be restored! There was database error!", e);
  
        }
        catch (Throwable t) //NOSONAR
        {
           restored = false;
           throw new WorkspaceRestoreExeption("Workspace '" + "/" + repositoryName + "/" + wEntry.getName()
              + "' can not be restored!", t);
  
        }
        finally
        {
           if (!restored)
           {
              try
              {
                 removeWorkspace(repository, wEntry.getName());
              }
              catch (Throwable thr) //NOSONAR
              {
                 throw new WorkspaceRestoreExeption("Workspace '" + "/" + repositoryName + "/"
                    + wEntry.getName() + "' can not be restored!", thr);
              }
           }
        }
     }
docs: Will be restored the workspace.
  
  @throws Throwable
  will be generated the Throwable