private String validateBrowserString(String inputString, RemoteControlConfiguration configuration) throws IllegalArgumentException {
        String browserString = inputString;
        if (configuration.getForcedBrowserMode() != null) {
            browserString = configuration.getForcedBrowserMode();
            LOGGER.info("overriding browser mode w/ forced browser mode setting: " + browserString);
        }
        if (configuration.getProxyInjectionModeArg() && browserString.equals("*iexplore")) {
            LOGGER.warn("running in proxy injection mode, but you used a *iexplore browser string; this is " +
                    "almost surely inappropriate, so I'm changing it to *piiexplore...");
            browserString = "*piiexplore";
        } else if (configuration.getProxyInjectionModeArg() && (browserString.equals("*firefox")
                || browserString.equals("*firefox2") || browserString.equals("*firefox3"))) {
            LOGGER.warn("running in proxy injection mode, but you used a " + browserString + " browser string; this is " +
                    "almost surely inappropriate, so I'm changing it to *pifirefox...");
            browserString = "*pifirefox";
        }

        if (null == browserString) {
            throw new IllegalArgumentException("browser string may not be null");
        }
        return browserString;
    }