private ServerEndPoint FindSlave(ServerEndPoint endpoint, RedisCommand command, bool allowDisconnected = false)
        {
            if (endpoint.IsSlave && endpoint.IsSelectable(command, allowDisconnected))
            {
                return(endpoint);
            }

            var  slaves      = endpoint.Slaves;
            var  len         = slaves.Length;
            uint startOffset = len <= 1 ? 0 : endpoint.NextReplicaOffset();

            for (int i = 0; i < len; i++)
            {
                endpoint = slaves[(int)(((uint)i + startOffset) % len)];
                if (endpoint.IsSlave && endpoint.IsSelectable(command, allowDisconnected))
                {
                    return(endpoint);
                }
            }
            return(null);
        }