public override IEnumerable <BulkString> Request(BulkStringFactory factory) { yield return(name); yield return(factory.Utf8(ipEndPoint.ToString())); yield return(factory.Create(ipEndPoint.Port)); yield return(keys.Count == 1 ? keys[0].ToBulkString(factory) : PlainBulkString.Empty); yield return(factory.Create(destinationDb.Value)); yield return(timeout.ToBulkString(factory)); if (sourceKeyBehavior == SourceKeyBehavior.Copy) { yield return(copySegment); } if (destinationKeyBehavior == DestinationKeyBehavior.Replace) { yield return(replaceSegment); } foreach (var argument in auth.Arguments()) { yield return(argument); } if (keys.Count > 1) { yield return(keysSegment); foreach (var key in keys) { yield return(key.ToBulkString(factory)); } } }