code: def _make_value(self, value):
          
  
          if isinstance(value, self._child_spec):
              new_value = value
  
          elif issubclass(self._child_spec, Any):
              if isinstance(value, Asn1Value):
                  new_value = value
              else:
                  raise ValueError(unwrap(
                      '''
                      Can not set a native python value to %s where the
                      _child_spec is Any - value must be an instance of Asn1Value
                      ''',
                      type_name(self)
                  ))
  
          elif issubclass(self._child_spec, Choice):
              if not isinstance(value, Asn1Value):
                  raise ValueError(unwrap(
                      '''
                      Can not set a native python value to %s where the
                      _child_spec is the choice type %s - value must be an
                      instance of Asn1Value
                      ''',
                      type_name(self),
                      self._child_spec.__name__
                  ))
              if not isinstance(value, self._child_spec):
                  wrapper = self._child_spec()
                  wrapper.validate(value.class_, value.tag, value.contents)
                  wrapper._parsed = value
                  value = wrapper
              new_value = value
  
          else:
              return self._child_spec(value=value)
  
          params = {}
          if self._child_spec.explicit:
              params['explicit'] = self._child_spec.explicit
          if self._child_spec.implicit:
              params['implicit'] = (self._child_spec.class_, self._child_spec.tag)
          return _fix_tagging(new_value, params)
docs: Constructs a _child_spec value from a native Python data type, or
          an appropriate Asn1Value object
  
          :param value:
              A native Python value, or some child of Asn1Value
  
          :return:
              An object of type _child_spec