/// <summary>
        /// Capture requirements related to SchemaLock sub response.
        /// </summary>
        /// <param name="schemaLockSubResponse">The schemaLock response.</param>
        /// <param name="site">An object provides logging, assertions, and SUT adapters for test code onto its execution context.</param>
        public static void ValidateSchemaLockSubResponse(SchemaLockSubResponseType schemaLockSubResponse, ITestSite site)
        {
            ValidateSubResponseType(schemaLockSubResponse as SubResponseType, site);

            // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R1120
            // if can launch this method, the schema matches
            site.CaptureRequirement(
                     "MS-FSSHTTP",
                     1120,
                     @"[In SchemaLock Subrequest][The protocol client sends a schema lock SubRequest message, which is of type SchemaLockSubRequestType,] The protocol server responds with a schema lock SubResponse message, which is of type SchemaLockSubResponseType as specified in section 2.3.1.16.");

            // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R4690
            // if can launch this method, the schema matches
            site.CaptureRequirementIfAreEqual<Type>(
                     typeof(SchemaLockSubResponseType),
                     schemaLockSubResponse.GetType(),
                     "MS-FSSHTTP",
                     4690,
                     @"[In SubResponseElementGenericType] Depending on the Type attribute specified in the SubRequest element, the SubResponseElementGenericType MUST take one of the forms:  SchemaLockSubResponseType.");

            // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R5743
            // if can launch this method, the schema matches
            site.CaptureRequirementIfAreEqual<Type>(
                     typeof(SchemaLockSubResponseType),
                     schemaLockSubResponse.GetType(),
                     "MS-FSSHTTP",
                     5743,
                     @"[In SubResponseType] The SubResponseElementGenericType takes one of the following forms: SchemaLockSubResponseType.");

            // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R725
            // if can launch this method, the schema matches
            site.CaptureRequirement(
                     "MS-FSSHTTP",
                     725,
                     @"[In SchemaLockSubResponseType][SchemaLockSubResponseType schema is:]
                     <xs:complexType name=""SchemaLockSubResponseType"">
                      <xs:complexContent>
                       <xs:extension base=""tns:SubResponseType"">
                        <xs:sequence minOccurs=""1"" maxOccurs=""1"">
                          <xs:element name=""SubResponseData"" type=""tns:SchemaLockSubResponseDataType"" />
                        </xs:sequence>
                       </xs:extension>
                      </xs:complexContent>
                     </xs:complexType>");

            if (string.Compare("Success", schemaLockSubResponse.ErrorCode, StringComparison.OrdinalIgnoreCase) == 0)
            {
                // Verify MS-FSSHTTP requirement: MS-FSSHTTP_R265
                // if can launch this method, the schema matches
                bool isVerifyR265 = schemaLockSubResponse.SubResponseData != null;

                // If popup the assert, the case run fail. 
                site.Assert.IsTrue(
                            isVerifyR265,
                            "For requirement MS-FSSHTTPB_R265, the SubResponseData should not be NULL.");

                // If the above logic is right, MS-FSSHTTP_R265 can be captured.
                site.CaptureRequirement(
                         "MS-FSSHTTP",
                         265,
                         @"[In SubResponseElementGenericType][The SubResponseData element MUST be sent as part of the SubResponse element in a cell storage service response message if the ErrorCode attribute that is part of the SubResponse element is set to a value of ""Success"" and one of the following conditions is true:] The Type attribute that is specified in the SubRequest element is set to a value of ""SchemaLock"".");
            }

            if (schemaLockSubResponse.SubResponseData != null)
            {
                ValidateSchemaLockSubResponseDataType(schemaLockSubResponse.SubResponseData, site);
            }
        }