code: @Override
  	public boolean validate(final Problems problems, final String compName, final String model) {
  		if (model.length() % 2 != 0) {
  			problems.add(ValidationBundle.getMessage(ValidHexadecimalNumberValidator.class, "ODD_LENGTH_HEX", compName)); // NOI18N
  			return false;
  		}
  		for (final char c : model.toCharArray()) {
  			final boolean good = c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f' || c >= '0' && c <= '9';
  			if (!good) {
  				problems.add(ValidationBundle.getMessage(ValidHexadecimalNumberValidator.class, "INVALID_HEX", // NOI18N
  						new String(new char[] { c }), compName));
  				return false;
  			}
  		}
  		return true;
  	}
docs: /*
  (non-Javadoc)
  
  @see
  com.fs.commons.desktop.validation.Validator#validate(com.fs.commons.desktop.
  validation.Problems, java.lang.String, java.lang.Object)