code: def parse(self, spec=None, spec_params=None):
          
  
          if self._parsed is None or self._parsed[1:3] != (spec, spec_params):
              parsed_value, _ = _parse_build(self.__bytes__(), spec=spec, spec_params=spec_params)
              self._parsed = (parsed_value, spec, spec_params)
          return self._parsed[0]
docs: Parses the contents generically, or using a spec with optional params
  
          :param spec:
              A class derived from Asn1Value that defines what class_ and tag the
              value should have, and the semantics of the encoded value. The
              return value will be of this type. If omitted, the encoded value
              will be decoded using the standard universal tag based on the
              encoded tag number.
  
          :param spec_params:
              A dict of params to pass to the spec object
  
          :return:
              An object of the type spec, or if not present, a child of Asn1Value