* the context in which this instance is validated.
* @return a <code>ValidationResult</code> describing the result of the validation. This method
* never returns <code>null</code>.
*/
public final ValidationResult validate(ValidationContext context) {
ValidationMessageCollectorImpl collector = new ValidationMessageCollectorImpl(context);
ValidationResult result;
synchronized (getDataLock()) {
collector.collect(this);
result = collector.result();
currentValidationResult = result;
}
notifyValidationListeners(result);
return result;
}