protected boolean addToAttributeValueMap ( final String key , final String value ) { final Collection < AbstractHtml5SharedObject > sharedObjects = getSharedObjects ( ) ; boolean listenerInvoked = false ; final Collection < WriteLock > writeLocks = lockAndGetWriteLocks ( ) ; try { final Map < String , String > attributeValueMap = getAttributeValueMap ( ) ; final String previousValue = attributeValueMap . put ( key , value ) ; if ( ! Objects . equals ( previousValue , value ) ) { setModified ( true ) ; invokeValueChangeListeners ( sharedObjects ) ; listenerInvoked = true ; } } finally { for ( final Lock lock : writeLocks ) { lock . unlock ( ) ; } } pushQueues ( sharedObjects , listenerInvoked ) ; return listenerInvoked ; }
adds the given key value .