public void TransferTo(IUpdateManager other, bool remove = true) { if (other is GwsUpdateManager) { var manager = other as GwsUpdateManager; foreach (var item in list) { manager.list.Add(item); } } else { foreach (var item in this) { other.Invalidate(item); } } if (remove) { Clear(); } }