code: public void addConverterComponent(ValueConverter<?, ?> converter) {
  
      if (converter instanceof AbstractRecursiveValueConverter) {
        ((AbstractRecursiveValueConverter<?, ?>) converter).setComposedValueConverter(this);
      }
      if (converter instanceof AbstractComponent) {
        ((AbstractComponent) converter).initialize();
      }
      addConverter(converter);
    }
docs: @see #addConverter(ValueConverter)
  
  @param converter is the converter to add.