public void start(String[] flags) throws IOException { File chromeFile = getChromeFile(); if (Platform.getCurrent().is(Platform.XP)) { String toExec = chromeFile.getCanonicalPath(); for (String flag : flags) { toExec += " " + flag; } chromeProcess = Runtime.getRuntime().exec(toExec); } else { String[] toExec = new String[flags.length + 1]; toExec[0] = chromeFile.getCanonicalPath(); for (int i = 0; i < flags.length; ++i) { toExec[i + 1] = flags[i]; } chromeProcess = Runtime.getRuntime().exec(toExec); } try { Thread.sleep(2500 * linearBackoffCoefficient); } catch (InterruptedException e) { //Nothing sane to do here } }