'Sets the value of the object before passing to Asn1Value.__init__()
:param value:
A native Python datatype to initialize the object value with
:param default:
The default value if no value is specified
:param contents:
A byte string of the encoded contents of the value'

def __init__(self, value=None, default=None, contents=None, **kwargs):

    Asn1Value.__init__(self, **kwargs)
    try:
        if (contents is not None):
            self.contents = contents
        elif (value is not None):
            self.set(value)
        elif (default is not None):
            self.set(default)
    except (ValueError, TypeError) as e:
        args = e.args[1:]
        e.args = (((e.args[0] + (u'\n                while    constructing    %s' % type_name(self))),) + args)
        raise e
