code: @Override
    @SuppressWarnings("unchecked")
    public <R extends Registry<Converter<?, ?>>> R register(Converter<?, ?> converter) {
  
      Assert.notNull(converter, "Converter is required");
  
      getRegistry().put(describe(converter), converter);
  
      if (this instanceof ConversionService) {
        converter.setConversionService((ConversionService) this);
      }
  
      return (R) this;
    }
docs: Registers the {@link Converter} with this {@link ConverterRegistry} making it available
  to perform {@link Class type} conversions.
  
  Any existing, registered {@link Converter} converting from the same {@link Class source type}
  to the same {@link Class target type} will simply be overridden with the incoming {@link Converter} registration.
  
  @param converter {@link Converter} to register.
  @return this {@link ConverterRegistry}.
  @throws IllegalArgumentException if {@link Converter} is {@literal null}.
  @see org.cp.elements.data.conversion.Converter
  @see #unregister(Converter)