//step back protected override void NotifyBack(IColorable from, SerialSignal signal) { if (!(from is OutPoint) && from != this) { // return; } lock (this) { if (Output.IsFiltered(from)) { return; } } //Signal == true; signal.StopSending(); Output.Filter(from); //if signal==true - we have to signal, otherwise we just need to find other output; if (from == CurrentPath) { FlowResult(); } if (!SignalIfCan()) { return; } Signal = signal; Output.Filter(from); base.NotifyBack(this, signal); InvokeOnNotifyBack(); Input.NotifyBack(this, signal); }