private static void init()
	{
		_browserCommand = null;
		// First check if "which" command is available
		if (commandExists("which"))
		{
			// which exists, so try browsers in turn
			String[] browsersToTry = {"firefox", "iceweasel", "konqueror", "opera", "epiphany",
				"mozilla", "safari", "google-chrome", "lynx"};
			String browserFound = null;
			for (int i=0; i<browsersToTry.length && browserFound == null; i++)
			{
				if (commandExists(browsersToTry[i]))
					browserFound = browsersToTry[i];
			}
			if (browserFound != null) {
				_browserCommand = new String[] {browserFound, null};
			}
		}

		if (_browserCommand == null)
		{
			// no which command (or none of the browsers found), so check if os name looks like a mac
			String osName = System.getProperty("os.name").toLowerCase();
			boolean isMacOsx = osName.indexOf("mac os") >= 0 || osName.indexOf("darwin") >= 0;
			if (isMacOsx) {
				// for Mac Osx just use "open" command
				_browserCommand = new String[] {"open", null};
			}
			else {
				// assume it's not linux or mac, so try windows method using "start" command
				_browserCommand = new String[] {"cmd.exe", "/C", "start", "\"\"", null};
				_urlNeedsQuotes = true;
			}
		}
		_initialised = true;
	}