private static void HandleShardStated <TCoordinator>(this TCoordinator coordinator, PersistentShardCoordinator.ShardStarted message) where TCoordinator : IShardCoordinator { var shard = message.Shard; if (coordinator.UnAckedHostShards.TryGetValue(shard, out var cancel)) { cancel.Cancel(); coordinator.UnAckedHostShards = coordinator.UnAckedHostShards.Remove(shard); } }