public IRequestHeader Parse(System.Net.Http.Headers.HttpRequestHeaders HttpRequestHeaders) { IEnumerable <string> IfNoneExist; if (HttpRequestHeaders.TryGetValues(_IfNoneExistHeader, out IfNoneExist)) { this.IfNoneExist = IfNoneExist.FirstOrDefault(); } IEnumerable <string> IfModifiedSince; if (HttpRequestHeaders.TryGetValues(_IfModifiedSinceHeader, out IfModifiedSince)) { this.IfModifiedSince = IfModifiedSince.FirstOrDefault(); } IEnumerable <string> IfNoneMatchHeader; if (HttpRequestHeaders.TryGetValues(_IfNoneMatchHeader, out IfNoneMatchHeader)) { this.IfNoneMatch = IfNoneMatchHeader.FirstOrDefault(); } IEnumerable <string> IfMatchHeader; if (HttpRequestHeaders.TryGetValues(_IfMatchHeader, out IfMatchHeader)) { this.IfMatch = IfMatchHeader.FirstOrDefault(); } IEnumerable <string> PreferHeader; if (HttpRequestHeaders.TryGetValues(_PreferHeader, out PreferHeader)) { this.Prefer.Set(PreferHeader.FirstOrDefault()); } return(this); }