public virtual void Run() { error = null; root = null; try { DecompilerContext.SetCurrentContext(parentContext); root = CodeToJava(method, methodDescriptor, varProc); } catch (Exception t) { error = t; } finally { DecompilerContext.SetCurrentContext(null); } finished = true; lock (Lock) { Monitor.PulseAll(Lock); } }