docs: @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);
          }
      }