+ @Override
+ public void run()
+ {
+ String ln = null;
+ int stdoutcount = 0;
+ int stderrcount = 0;
+ try
+ {
+ while ((ln = worker.getOutputReader().readLine()) != null)
+ {
+ System.out.println(ln);
+ successfulCMDs.add(ln);
+ if (++stdoutcount > STDOUT_SETUPLINES)
+ {
+ break;
+ }
+ }
+ while ((ln = worker.getErrorReader().readLine()) != null)
+ {
+ System.err.println(ln);
+ successfulCMDs.add(ln);
+ if (++stderrcount > STDERR_SETUPLINES)
+ {
+ break;
+ }
+ }
+ } catch (Exception e)
+ {
+ System.err.println(
+ "Unexpected Exception reading stderr from the Jalview process");
+ e.printStackTrace();
+ }
+ }
+ });
+ long t = System.currentTimeMillis() + SETUP_TIMEOUT;
+ runner.start();
+ while (!runner.isInterrupted() && System.currentTimeMillis() < t)
+ {
+ try
+ {
+ Thread.sleep(500);
+ } catch (InterruptedException e)