/// <inheritdoc /> public IEnumerable <Echo> Select(IRequest <Echo> request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var members = request.Conditions.Select(c => new JProperty(c.Key, c.Value)); var body = request.GetBody().Deserialize <JObject>(); if (body != null) { members = members.Union <JProperty>(body.SelectMany(item => item.Properties()), EqualityComparer); } var echo = new Echo(members); TypeCache.ClearTermsFor <Echo>(); yield return(echo); }