/// <summary>
 /// Initializes a new instance of the <see cref="RetrieveSingleResponse" /> class.
 /// </summary>
 /// <param name="request">The original request.</param>
 /// <param name="response">The wrapped response.</param>
 public RetrieveSingleResponse(RetrieveSingleRequest request, RetrieveMultipleResponse response)
 {
     this.Request       = request;
     this.Response      = response;
     this.ExtensionData = response.ExtensionData;
     this.Results       = response.Results;
     this.ResponseName  = response.ResponseName;
 }
        /// <summary>The get dependencies.</summary>
        /// <param name="request">The request.</param>
        /// <param name="isSingle">The is single.</param>
        /// <param name="path">The path.</param>
        /// <returns>The dependencies.</returns>
        private IEnumerable <string> GetDependencies(RetrieveSingleRequest request, bool isSingle, IEnumerable <object> path)
        {
            yield return(this.GetTag(TagSingle));

            if (request.Fetch != null)
            {
                yield return(this.GetTag("fetch"));

                foreach (var dependency in this.GetDependencies(request.Fetch, isSingle))
                {
                    yield return(dependency);
                }
            }

            foreach (var dependency in this.GetDependenciesForObject(request.Request, isSingle, path))
            {
                yield return(dependency);
            }
        }