private synchronized void ensureIsRun ( ) { if ( ! isRun ) { isRun = true ; try { result = executeProc ( args ) ; exception = null ; } catch ( ProcError e ) { throw e . asRuntimeException ( ) ; } catch ( Throwable t ) { exception = t ; result = null ; } } }
Execute the proc if not done so already .