/// <summary>
        /// Returns change information for items at and below the specified item-id.
        /// </summary>
        /// <param name="rootItemReference"></param>
        /// <param name="options"></param>
        /// <returns></returns>
        public async Task <ODViewChangesResult> ViewChangesAsync(ODItemReference rootItemReference, ViewChangesOptions options)
        {
            if (!rootItemReference.IsValid())
            {
                throw new ArgumentException("rootItemReference was invalid. Requires either an ID or Path");
            }
            if (null == options)
            {
                throw new ArgumentNullException("options");
            }

            var queryParams = new QueryStringBuilder();

            options.ModifyQueryString(queryParams);

            Uri serviceUri = UriForItemReference(rootItemReference, ApiConstants.ViewChangesServiceAction, queryParams);
            var request    = await CreateHttpRequestAsync(serviceUri, ApiConstants.HttpGet);

            return(await DataModelForRequest <ODViewChangesResult>(request));
        }
        /// <summary>
        /// Returns change information for items at and below the specified item-id.
        /// </summary>
        /// <param name="rootItemReference"></param>
        /// <param name="options"></param>
        /// <returns></returns>
        public async Task<ODViewChangesResult> ViewChangesAsync(ODItemReference rootItemReference, ViewChangesOptions options)
        {
            if (!rootItemReference.IsValid())
                throw new ArgumentException("rootItemReference was invalid. Requires either an ID or Path");
            if (null == options)
                throw new ArgumentNullException("options");

            var queryParams = new QueryStringBuilder();
            options.ModifyQueryString(queryParams);

            Uri serviceUri = UriForItemReference(rootItemReference, ApiConstants.ViewChangesServiceAction, queryParams);
            var request = await CreateHttpRequestAsync(serviceUri, ApiConstants.HttpGet);

            return await DataModelForRequest<ODViewChangesResult>(request);
        }