code: def add_to_loader_class(cls, loader_class=None, tag=None, **kwargs):
          # type: (type(yaml.Loader), str, **str)-> YamlIncludeConstructor
          
          if tag is None:
              tag = ''
          tag = tag.strip()
          if not tag:
              tag = cls.DEFAULT_TAG_NAME
          if not tag.startswith('!'):
              raise ValueError('`tag` argument should start with character "!"')
          instance = cls(**kwargs)
          if loader_class is None:
              if FullLoader:
                  yaml.add_constructor(tag, instance, FullLoader)
              else:
                  yaml.add_constructor(tag, instance)
          else:
              yaml.add_constructor(tag, instance, loader_class)
          return instance
docs: Create an instance of the constructor, and add it to the YAML `Loader` class
  
          :param loader_class: The `Loader` class add constructor to.
  
              .. attention:: This parameter **SHOULD** be a **class type**, **NOT** object.
  
              It's one of following:
  
                  - :class:`yaml.BaseLoader`
                  - :class:`yaml.UnSafeLoader`
                  - :class:`yaml.SafeLoader`
                  - :class:`yaml.Loader`
                  - :class:`yaml.FullLoader`
                  - :class:`yaml.CBaseLoader`
                  - :class:`yaml.CUnSafeLoader`
                  - :class:`yaml.CSafeLoader`
                  - :class:`yaml.CLoader`
                  - :class:`yaml.CFullLoader`
  
              :default: ``None``:
  
                  - When :mod:`pyyaml` 3.*: Add to PyYAML's default `Loader`
                  - When :mod:`pyyaml` 5.*: Add to `FullLoader`
  
          :type loader_class: type
  
          :param str tag: Tag's name of the include constructor.
  
            :default: ``""``: Use :attr:`DEFAULT_TAG_NAME` as tag name.
  
          :param kwargs: Arguments passed to construct function
  
          :return: New created object
          :rtype: YamlIncludeConstructor