@Override
    public void unregisterAttributeListener(String attributeName, AttributeListener attributeListener) {
        List<AttributeListener> listeners = attributeListeners.get(attributeName);
        if (listeners == null) {
            LOG.error("trying to unregister an attribute listener for attribute \"" + attributeName
                    + "\" that was never registered");
            return;
        }
        synchronized (listeners) {
            boolean success = listeners.remove(attributeListener);
            if (!success) {
                LOG.error("trying to unregister an attribute listener for attribute \"" + attributeName
                        + "\" that was never registered");
                return;
            }
        }
    }
@ Override public void unregisterAttributeListener ( String attributeName , AttributeListener attributeListener ) { List < AttributeListener > listeners = attributeListeners . get ( attributeName ) ; if ( listeners == null ) { LOG . error ( "trying to unregister an attribute listener for attribute \"" + attributeName + "\" that was never registered" ) ; return ; } synchronized ( listeners ) { boolean success = listeners . remove ( attributeListener ) ; if ( ! success ) { LOG . error ( "trying to unregister an attribute listener for attribute \"" + attributeName + "\" that was never registered" ) ; return ; } } }
Unregisters an attribute listener.

@param attributeName     the attribute name as defined in the Franca model
to unsubscribe from.
@param attributeListener the listener to remove.