public Object use(Closure closure) {
        // grab existing meta (usually adaptee but we may have nested use calls)
        MetaClass origMetaClass = registry.getMetaClass(theClass);
        registry.setMetaClass(theClass, this);
        try {
            return closure.call();
        } finally {
            registry.setMetaClass(theClass, origMetaClass);
        }
    }
public Object use ( Closure closure ) { MetaClass origMetaClass = registry . getMetaClass ( theClass ) ; registry . setMetaClass ( theClass , this ) ; try { return closure . call ( ) ; } finally { registry . setMetaClass ( theClass , origMetaClass ) ; } }
Use the ProxyMetaClass for the given Closure.
Cares for balanced register/unregister.

@param closure piece of code to be executed with registered ProxyMetaClass