protected virtual void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (disposed)
         {
             return;
         }
         disposed = true;
         if (ProcessManager != null)
         {
             ProcessManager.Stop();
         }
         if (TaskManager != null)
         {
             TaskManager.Dispose();
             TaskManager = null;
         }
         if (repositoryManager != null)
         {
             repositoryManager.Dispose();
             repositoryManager = null;
         }
     }
 }