<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def __save_reference(self, o, cls, args, kwargs):
 """ Saves a reference to the original object Facade is passed. This will either be the object itself or a LazyBones instance for lazy-loading later :param mixed o: The original object :param class cls: The class definition for the original object :param tuple args: The positional arguments to the original object :param dict kwargs: The keyword arguments to the original object """

        if not o and cls:
            self['__original_object'] = LazyBones( cls, args, kwargs )
        else:
            while hasattr( o, '__class__' ) and o.__class__ == Wrapper:
                o = o.wrapper__unwrap()
            self['__original_object'] = o