protected static boolean check(final String userAgentString) {
		if (StringUtils.isNullOrEmptyOrBlank(userAgentString))
			return false;

		String userAgentStr = userAgentString.toLowerCase();

		// IE 6+, check special keys like 'Opera' and 'mac', because there are
		// some other browsers, containing 'MSIE' in there agent string!
		if (userAgentStr.indexOf("opera") < 0 && userAgentStr.indexOf("mac") < 0
				&& getBrowserVersion(userAgentStr, ".*msie ([\\d]+.[\\d]+).*") >= 6f)
			return true;

		// for all gecko based browsers
		if (getBrowserVersion(userAgentStr, ".*rv:([\\d]+.[\\d]+).*") > 1.7f)
			return true;

		// Opera 9.5+
		if (getBrowserVersion(userAgentStr, "opera/([\\d]+.[\\d]+).*") >= 9.5f
				|| getBrowserVersion(userAgentStr, ".*opera ([\\d]+.[\\d]+)") >= 9.5f)
			return true;

		// Safari 3+
		if (getBrowserVersion(userAgentStr, ".*applewebkit/([\\d]+).*") >= 522f)
			return true;

		return false;
	}