<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load(self, ):
 """If the reference is in the scene but unloaded, load it. .. Note:: Do not confuse this with reference or import. Load means that it is already referenced. But the data from the reference was not read until now. Load loads the data from the reference. This will call :meth:`RefobjInterface.load` and set the status to :data:`Reftrack.LOADED`. :returns: None :rtype: None :raises: :class:`ReftrackIntegrityError` """

        assert self.status() == self.UNLOADED,\
            "Cannot load if there is no unloaded reference. Use reference instead."
        self.get_refobjinter().load(self._refobj)
        self.set_status(self.LOADED)
        self.fetch_new_children()
        self.update_restrictions()
        self.emit_data_changed()