'Create a copy of a |ASN.1| type or object.
Any parameters to the *subtype()* method will be added to the corresponding
properties of the |ASN.1| object.
Parameters
value: :class:`tuple`, :class:`float` or |ASN.1| object
Initialization value to pass to new ASN.1 object instead of
inheriting one from the caller.
implicitTag: :py:class:`~pyasn1.type.tag.Tag`
Implicitly apply given ASN.1 tag object to caller\'s
:py:class:`~pyasn1.type.tag.TagSet`, then use the result as
new object\'s ASN.1 tag(s).
explicitTag: :py:class:`~pyasn1.type.tag.Tag`
Explicitly apply given ASN.1 tag object to caller\'s
:py:class:`~pyasn1.type.tag.TagSet`, then use the result as
new object\'s ASN.1 tag(s).
subtypeSpec: :py:class:`~pyasn1.type.constraint.ConstraintsIntersection`
Object representing ASN.1 subtype constraint(s) to use in new object instead of inheriting from the caller
Returns
new instance of |ASN.1| type/value'

def subtype(self, value=noValue, implicitTag=None, explicitTag=None, subtypeSpec=None):

    return base.AbstractSimpleAsn1Item.subtype(self, value, implicitTag, explicitTag)
