code: def _validate_qualifiers(qualifier_list, qual_repo, new_class, scope):
          
          for qname, qvalue in qualifier_list.items():
              if qname not in qual_repo:
                  raise CIMError(
                      CIM_ERR_INVALID_PARAMETER,
                      _format("Qualifier {0|A} in new_class {1|A} in "
                              "CreateClass not in repository.",
                              (qname, new_class.classnam)))
              q_decl = qual_repo[qname]
              if qvalue.type != q_decl.type:
                  raise CIMError(
                      CIM_ERR_INVALID_PARAMETER,
                      _format("Qualifier {0|A} in new_class {1|A} override type "
                              "mismatch {2|A} with qualifier declaration {3|A}.",
                              (qname, new_class.classname, qvalue.type,
                               q_decl.type)))
              if scope not in q_decl.scopes:
                  raise CIMError(
                      CIM_ERR_INVALID_PARAMETER,
                      _format("Qualifier {0|A} in new class {1|A} scope {2|A} "
                              "invalid. Not in qualifier decl scopes {3}",
                              (qname, new_class.classname, scope, q_decl.scopes)))
docs: Validate a list of qualifiers against the Qualifier decl in the
          repository.
  
          1. Whether it is declared (can be obtained from the declContext).
          2. Whether it has the same type as the declaration.
          3. Whether the qualifier is valid for the given scope.
          4. Whether the qualifier can be overridden.
          5. Whether the qualifier should be propagated to the subclass.