/// <summary>
        /// Capture requirements related with CellSubResponseDataType.
        /// </summary>
        /// <param name="cellSubResponseData">The cellSubResponseData</param>
        /// <param name="site">Instance of ITestSite</param>
        private static void ValidateCellSubResponseDataType(CellSubResponseDataType cellSubResponseData, ITestSite site)
        {
            // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R1391
            // The SubResponseData of CellSubResponse is of type CellSubResponseDataType, so if cellSubResponse.SubResponseData is not null, then MS-FSSHTTP_R1391 can be captured.
            site.CaptureRequirementIfAreEqual <Type>(
                typeof(CellSubResponseDataType),
                cellSubResponseData.GetType(),
                "MS-FSSHTTP",
                1391,
                @"[In SubResponseDataGenericType][SubResponseDataGenericType MUST take one of the forms described in the following table] CellSubResponseDataType: Type definition for cell subresponse data.");

            if (cellSubResponseData.LockTypeSpecified)
            {
                // Verified LockTypes
                ValidateLockTypes(site);
            }

            // Verify requirements related with CellSubResponseDataOptionalAttributes
            if (cellSubResponseData.Etag != null ||
                cellSubResponseData.LastModifiedTime != null ||
                cellSubResponseData.CreateTime != null ||
                cellSubResponseData.ModifiedBy != null ||
                cellSubResponseData.CoalesceErrorMessage != null)
            {
                ValidateCellSubResponseDataOptionalAttributes(cellSubResponseData, site);
            }
        }
        /// <summary>
        /// Capture requirements related with CellSubResponseDataOptionalAttributes.
        /// </summary>
        /// <param name="cellSubResponseData">The cellSubResponseData</param>
        /// <param name="site">Instance of ITestSite</param>
        private static void ValidateCellSubResponseDataOptionalAttributes(CellSubResponseDataType cellSubResponseData, ITestSite site)
        {
            if (cellSubResponseData.ModifiedBy != null)
            {
                // Verify requirements related with UserNameTypes
                ValidateUserNameTypes(site);
            }

            // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R1465
            site.CaptureRequirement(
                "MS-FSSHTTP",
                1465,
                @"[In CellSubResponseDataOptionalAttributes] The CellSubResponseDataOptionalAttributes attribute group contains attributes that is used in SubResponseData elements associated with a SubResponse for a cell subrequest.");

            // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R1497
            site.CaptureRequirement(
                "MS-FSSHTTP",
                1497,
                @"[In SubResponseDataOptionalAttributes] CellSubResponseDataOptionalAttributes: An attribute group that specifies attributes that MUST be used for SubResponseData elements associated with a subresponse for a cell subrequest.");

            // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R839
            site.CaptureRequirement(
                "MS-FSSHTTP",
                839,
                @"[In CellSubResponseDataOptionalAttributes] The definition of the CellSubResponseDataOptionalAttributes attribute group is as follows:
                     <xs:attributeGroup name=""CellSubResponseDataOptionalAttributes"">
                         <xs:attribute name=""Etag"" type=""xs:string"" use=""optional"" />
                         <xs:attribute name=""CreateTime"" type=""xs:integer"" use=""optional""/>
                         <xs:attribute name=""LastModifiedTime"" type=""xs:integer"" use=""optional""/>
                         <xs:attribute name=""ModifiedBy"" type=""tns:UserNameType"" use=""optional"" />
                         <xs:attribute name=""CoalesceErrorMessage"" type=""xs:string"" use=""optional""/>
                         <xs:attribute name=""CoalesceHResult"" type=""xs:integer"" use=""optional""/>
                         <xs:attribute name=""ContainsHotboxData"" type=""tns:TRUEFALSE"" use=""optional""/>
                         <xs:attribute name=""HaveOnlyDemotionChanges"" type=""tns:TRUEFALSE"" use=""optional""/>
                     </xs:attributeGroup>");
        }