private Dictionary<string, string> ConvertHeaders(HttpResponseHeaders responseHeaders, HttpContent httpContent)
        {
            if ((responseHeaders == null || !responseHeaders.Any()) &&
                (httpContent == null || (httpContent.Headers == null || !httpContent.Headers.Any())))
            {
                return null;
            }

            var headers = new Dictionary<string, string>();

            if (responseHeaders != null && responseHeaders.Any())
            {
                foreach (var responseHeader in responseHeaders)
                {
                    headers.Add(responseHeader.Key, String.Join(", ", responseHeader.Value.Select(x => x)));
                }
            }

            if (httpContent != null && httpContent.Headers != null && httpContent.Headers.Any())
            {
                foreach (var contentHeader in httpContent.Headers)
                {
                    headers.Add(contentHeader.Key, String.Join(", ", contentHeader.Value.Select(x => x)));
                }
            }

            return headers;
        }
		public void SetProperties(HttpResponseHeaders headers)
		{
            var properties = this.GetType().GetTypeInfo().DeclaredProperties;

			foreach (var prop in properties.Where(prop => headers.Any(h => h.Key == prop.Name)))
			{
			    var value = headers.First(h => NetNamingMapper.GetPropertyName(h.Key) == prop.Name).Value;
                if(value == null)
                    continue;

			    if (value.Count() == 1)
			    {
			        prop.SetValue(this, value.FirstOrDefault());
			    }
                else
			    {
			        try
			        {
                        prop.SetValue(this, value.FirstOrDefault());
			        }
			        catch (Exception)
			        {
                        // do nothing
			        }
			    }
			}
		}
 public void SetProperties(HttpResponseHeaders headers)
 {
     var properties = this.GetType().GetProperties().Where(p => p.GetValue(this) != null);
     foreach (var prop in properties.Where(prop => headers.Any(h => h.Key == prop.Name)))
     {
         prop.SetValue(this, headers.First(h => NetNamingMapper.GetPropertyName(h.Key) == prop.Name));
     }
 }