code: def setComponentByType(self, tagSet, value=noValue,
                             verifyConstraints=True,
                             matchTags=True,
                             matchConstraints=True,
                             innerFlag=False):
          
          idx = self.componentType.getPositionByType(tagSet)
  
          if innerFlag:  # set inner component by inner tagSet
              componentType = self.componentType.getTypeByPosition(idx)
  
              if componentType.tagSet:
                  return self.setComponentByPosition(
                      idx, value, verifyConstraints, matchTags, matchConstraints
                  )
              else:
                  componentType = self.getComponentByPosition(idx)
                  return componentType.setComponentByType(
                      tagSet, value, verifyConstraints, matchTags, matchConstraints, innerFlag=innerFlag
                  )
          else:  # set outer component by inner tagSet
              return self.setComponentByPosition(
                  idx, value, verifyConstraints, matchTags, matchConstraints
              )
docs: Assign |ASN.1| type component by ASN.1 tag.
  
          Parameters
          ----------
          tagSet : :py:class:`~pyasn1.type.tag.TagSet`
              Object representing ASN.1 tags to identify one of
              |ASN.1| object component
  
          Keyword Args
          ------------
          value: :class:`object` or :py:class:`~pyasn1.type.base.PyAsn1Item` derivative
              A Python value to initialize |ASN.1| component with (if *componentType* is set)
              or ASN.1 value object to assign to |ASN.1| component.
  
          verifyConstraints : :class:`bool`
              If `False`, skip constraints validation
  
          matchTags: :class:`bool`
              If `False`, skip component tags matching
  
          matchConstraints: :class:`bool`
              If `False`, skip component constraints matching
  
          innerFlag: :class:`bool`
              If `True`, search for matching *tagSet* recursively.
  
          Returns
          -------
          self