public static AccessCondition CreateAccessCondition(this RequestHeaders requestHeaders, bool includeSequenceConditions = false) { var retval = AccessCondition.GenerateEmptyCondition(); requestHeaders.SetAttributeFromRequest("If-Modified-Since", (DateTime modifiedDate) => retval.IfModifiedSinceTime = modifiedDate); requestHeaders.SetAttributeFromRequest("If-Unmodified-Since", (DateTime modifiedDate) => retval.IfNotModifiedSinceTime = modifiedDate); requestHeaders.SetAttributeFromRequest("If-Match", (string eTag) => retval.IfMatchETag = eTag); requestHeaders.SetAttributeFromRequest("If-None-Match", (string eTag) => retval.IfNoneMatchETag = eTag); requestHeaders.SetAttributeFromRequest("x-ms-lease-id", (string leaseId) => retval.LeaseId = leaseId); if (includeSequenceConditions) { requestHeaders.SetAttributeFromRequest("x-ms-if-sequence-number-le", (long seqNo) => retval.IfSequenceNumberLessThanOrEqual = seqNo); requestHeaders.SetAttributeFromRequest("x-ms-if-sequence-number-lt", (long seqNo) => retval.IfSequenceNumberLessThan = seqNo); requestHeaders.SetAttributeFromRequest("x-ms-if-sequence-number-eq", (long seqNo) => retval.IfSequenceNumberEqual = seqNo); } return(retval); }