private void invokeValueChangeListeners ( final Collection < AbstractHtml5SharedObject > sharedObjects ) { for ( final AbstractHtml5SharedObject sharedObject : sharedObjects ) { final AttributeValueChangeListener valueChangeListener = sharedObject . getValueChangeListener ( ACCESS_OBJECT ) ; if ( valueChangeListener != null ) { // ownerTags should not be modified in the consuming // part, here // skipped it making unmodifiable to gain // performance final AttributeValueChangeListener . Event event = new AttributeValueChangeListener . Event ( this , ownerTags ) ; valueChangeListener . valueChanged ( event ) ; } } if ( valueChangeListeners != null ) { for ( final AttributeValueChangeListener listener : valueChangeListeners ) { final AttributeValueChangeListener . Event event = new AttributeValueChangeListener . Event ( this , Collections . unmodifiableSet ( ownerTags ) ) ; listener . valueChanged ( event ) ; } } }
this method should be called after changing of attribute value not before changing value