ProcessOutput (int timeoutInMilliseconds, boolean destroyOnTimeout) { // keep in sync with runProcessWithProgressIndicator if (timeoutInMilliseconds <= 0) { return runProcess(); } else { myProcessHandler.startNotify(); if (myProcessHandler.waitFor(timeoutInMilliseconds)) { setErrorCodeIfNotYetSet(); } else { if (destroyOnTimeout) { myProcessHandler.destroyProcess(); } myOutput.setTimeout(); } return myOutput; } }