public void iStop()
 {
     if (m_CurrentCommand != null && m_State != State.Interrupted)
     {
         m_State = State.Interrupted;
         (m_CurrentCommand.Value as ICommandProcess)?.iStop();
         m_CommandNotifier.iInterrupted(m_CurrentCommand.Value);
     }
 }
    public void Stop()
    {
        if (m_Current != null)
        {
            (m_Current.Value as ICommandProcess)?.iStop();
            m_CommandNotifier.iInterrupted(m_Current.Value);
        }

        m_Current = null;
    }
 public void iInterrupted(ICommand command) => m_RedirectionTarget.iInterrupted(command);