protected override void StopPort(TimeSpan timeout)
{
if (!ForwardedPortStatus.ToStopping(ref _status))
return;
// signal existing channels that the port is closing
base.StopPort(timeout);
// prevent new requests from getting processed
StopListener();
// wait for open channels to close
InternalStop(timeout);
// mark port stopped
_status = ForwardedPortStatus.Stopped;
}