private void KeepQuarantinedOr(Address remoteAddress, Action body) { var uid = _endpoints.RefuseUid(remoteAddress); if (uid.HasValue) { _log.Info( "Quarantined address [{0}] is still unreachable or has not been restarted. Keeping it quarantined.", remoteAddress); // Restoring Quarantine marker overwritten by a Pass(endpoint, refuseUid) pair while probing remote system. _endpoints.MarkAsQuarantined(remoteAddress, uid.Value, Deadline.Now + _settings.QuarantineDuration); } else { body(); } }