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`

def load_into(self, obj, name, data, inplace=True, context=None):
        """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`
        """
        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)