public V call() throws Exception { AppIdFactory.setCurrentFactory(new SimpleAppIdFactory(appId, module)); try { final CapedwarfEnvironment previous = CapedwarfEnvironment.setThreadLocalInstance(env); try { return callable.call(); } finally { CapedwarfEnvironment.setThreadLocalInstance(previous); } } finally { AppIdFactory.resetCurrentFactory(); } }