private bool Stop(bool pause) { if (!IsWorking()) { return(false); } _mode = pause ? Mode.Pause : Mode.Stop; _routerCoreThread.Join(); if (_mode == Mode.Stop) { ShutDownOutputHardware(); HardwareManager.Disconnect(); Messenger.AddMessage(MessageToMainForm.RouterStopped); } else { Messenger.AddMessage(MessageToMainForm.RouterPaused); } return(true); }