@Override
    public void registerAttributeListener(String attributeName, AttributeListener attributeListener) {
        attributeListeners.putIfAbsent(attributeName, new ArrayList<AttributeListener>());
        List<AttributeListener> listeners = attributeListeners.get(attributeName);
        synchronized (listeners) {
            listeners.add(attributeListener);
        }
    }
@ Override public void registerAttributeListener ( String attributeName , AttributeListener attributeListener ) { attributeListeners . putIfAbsent ( attributeName , new ArrayList < AttributeListener > ( ) ) ; List < AttributeListener > listeners = attributeListeners . get ( attributeName ) ; synchronized ( listeners ) { listeners . add ( attributeListener ) ; } }
Registers an attribute listener that gets notified in case the attribute
changes. This is used for on change subscriptions.

@param attributeName     the attribute name as defined in the Franca model
to subscribe to.
@param attributeListener the listener to add.