code: public void addMessage(ValidationMessage validationMessage) {
  		if (!validationResults.getMessages().contains(validationMessage)) {
  			ValidationResults oldValidationResults = validationResults;
  			List newMessages = new ArrayList(oldValidationResults.getMessages());
  			newMessages.add(validationMessage);
  			validationResults = new DefaultValidationResults(newMessages);
  			fireChangedEvents();
  			fireValidationResultsChanged(validationMessage.getProperty());
  		}
  	}
docs: TODO: test