for( final ValidationService service : services( ValidationService.class ) )
{
freshValidationResultFactory.merge( service.validation() );
}
final Status freshValidationResult = freshValidationResultFactory.create();
PropertyValidationEvent event = null;
synchronized( this )
{
initialized = ( ( this.initialization & VALIDATION_INITIALIZED ) != 0 );
if( initialized )
{
final Status staleValidationResult = this.validation;
if( ! staleValidationResult.equals( freshValidationResult ) )
{
this.validation = freshValidationResult;
event = new PropertyValidationEvent( this, staleValidationResult, freshValidationResult );
}
}