<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, properties=None):
 """Updates the properties being held for this instance. :param properties: The list of properties to update. :type properties: list or None (default). If None, update all currently cached properties. """

        if properties is None:
            try:
                self.update_view_data(properties=list(self._cache.keys()))
            except AttributeError:
                # We end up here and ignore it self._cache doesn't exist
                pass
        else:
            self.update_view_data(properties=properties)