code: def load_into(self, obj, name, data, inplace=True, context=None):
          
          if obj is None:
              raise ValueError('Load target should not be None')
  
          value = data.get(name, MISSING)
  
          if value is MISSING:
              return
  
          target = self.get_value(name, obj, context=context)
          if target is not None and target is not MISSING \
                  and hasattr(self.field_type, 'load_into'):
              return self.field_type.load_into(target, value, inplace=inplace,
                                               context=context)
          else:
              return self.field_type.load(value, context=context)
docs: Deserialize data from primitive types updating existing object.
          Raises :exc:`~lollipop.errors.ValidationError` if data is invalid.
  
          :param obj: Object to update with deserialized data.
          :param str name: Name of attribute to deserialize.
          :param data: Raw data to get value to deserialize from.
          :param bool inplace: If True update data inplace;
              otherwise - create new data.
          :param kwargs: Same keyword arguments as for :meth:`load`.
          :returns: Loaded data.
          :raises: :exc:`~lollipop.errors.ValidationError`