human
Complete the below
def lazy_loading_proxy_for_interface(interface, loader):

    ''''Create a proxy for an interface which builds the wrapped object lazily.
    This is different than a normal ``proxyForInterface`` subclass in that the
    wrapped object is not supplied to the class initializer but instead
    generated lazily by the supplied ``loader`` function.
    :param Interface interface: The ``Interface`` describing the methods and
    attributes that will be available on te returned proxy.
    :param loader: A no-argument function which will be called to create the
    wrapped object the first time one of the proxied objects is accessed.
    :returns: The proxy object.'
    '''

=====
Write me a the Python code you requested?
assistant
#Here is the Python code you requested.
    class LazyLoadingProxy(proxyForInterface(interface, '_original'), ):
        _cached_original = None
        def __init__(self):
            '\n                                                The    initializer    of    a    class    generated    by    ``proxyForInterface``\n                                                expects    the    wrapped    "original"    object    as    an    argument.        Overrride\n                                                that    here.\n                                                '
        @property
        def _original(self):
            if (self._cached_original is None):
                self._cached_original = loader()
            return self._cached_original
    return LazyLoadingProxy()