protected async Task <IStatsOperationResult> PerformStats(string key) { var ops = new List <Tuple <IStatsOperation, INode> >(); // TODO catch this? await cluster.Broadcast(n => { var op = opFactory.Stats(key); ops.Add(Tuple.Create(op, n)); return(op); }).ConfigureAwait(false); var stats = new ServerStats(); StatsOperationResult retval = null; foreach (var pair in ops) { var nodeResult = pair.Item1.Result; if (retval == null) { retval = new StatsOperationResult { Value = stats } }