public event EventHandler <CommandRecievedEventArgs> CommandRecieved; // The event that notifies about a new Command being recieved
        #endregion


        /*********************************************************************/

        public void onCloseServer(object sender, ...)
        {
            IDirectoryHandler h = sender;

            CommandRecieved -= h.OnCommandRecieved(sender, CommandRecieved);
            CommandRecieved -= h.OnCloseServer;
        }
 /// <summary>
 /// stop handleing certain dorectory
 /// </summary>
 /// <param name="directoryPath">path to the directory</param>
 /// <returns>true if directory stopped being handled and false otherwise</returns>
 public bool StopHandelingDirectory(string directoryPath)
 {
     if (this.m_deirectoryPathsToHandlers.ContainsKey(directoryPath))
     {
         IDirectoryHandler        handlerToBeStopped       = this.m_deirectoryPathsToHandlers[directoryPath];
         CommandRecievedEventArgs commandRecievedEventArgs = new CommandRecievedEventArgs(CommandEnum.CloseCommand, null, "");
         handlerToBeStopped.OnCommandRecieved(this, commandRecievedEventArgs);
         this.m_deirectoryPathsToHandlers.Remove(directoryPath);
         return(true);
     }
     else
     {
         return(false);
     }
 }