/**
   * Registers all the supported factories with the given identifiers. If a given identifier is
   * already in use, then that factory is not registered. This method is provided only as a
   * convenience, and any registration that may involve identifier clashes should be done by
   * registering each factory individually.
   */
  public void registerAttributeFactories() {
    for (String id : attributeMap.keySet()) {
      AttributeFactory af = attributeMap.get(id);

      try {
        AttributeFactory.registerFactory(id, new AFProxy(af));
      } catch (IllegalArgumentException iae) {
        logger.log(
            Level.WARNING, "Couldn't register AttributeFactory:" + id + " (already in use)", iae);
      }
    }
  }