<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update(self, other=None, **kwargs):
 """ A special update method to handle merging of dict objects. For all other iterable objects, we use the parent class update method. For other objects, we simply make use of the internal merging logic. :param other: An iterable object. :type other: dict or object :param kwargs: key/value pairs to update. :rtype: None """

        if other is not None:
            if isinstance(other, dict):
                for key in other:
                    self[key] = other[key]
            else:
                # noinspection PyTypeChecker
                super(MergingDict, self).update(other)

        for key in kwargs:
            self._merge(key, kwargs[key])