protected void algoStop(IWrite iWrite, string cmdName, object[] cmdArguments) { if (IsLogged(iWrite)) { //stop and dispose algo if (algoMachine != default(Algo.Base)) { algoMachine.StopGracefull(); DataCollector.rezefProducer.RemoveConsumer(algoMachine); algoMachine.Dispose(); algoMachine = default(Algo.Base); } //stop and dispose OrderFSM if (rezefOrderFSM != default(FMRShell.RezefOrderFSM)) { rezefOrderFSM.Dispose(); rezefOrderFSM = default(FMRShell.RezefOrderFSM); } //TODO - test if there is no other users, before calling DataCollector.Stop if (DataCollector != default(FMRShell.Collector)) { DataCollector.Stop(FMRShell.DataType.Rezef); } } }