public async Task <ClusterState> GetClusterState()
        {
            await _cluster.WaitForFollowers();

            return(new ClusterState
            {
                Leader = _cluster.CurrentLeader,
                Followers = _cluster.CurrentFollowers,
                Unreachable = await _cluster.Leader().GetUnreachableNodes(),
                Unplugged = _cluster.Unplugged
            });
        }
        private async Task <T> Get <T>(T db)
        {
            await _cluster.WaitForFollowers();

            return(_cluster.CurrentLeader == _cluster.Self ? db : GraphClient.Create <T>(_cluster.CurrentLeader));
        }