code: public static <T extends Tag, V> void register(Class<T> tag, Class<V> type, TagConverter<T, V> converter) throws ConverterRegisterException {
          if(tagToConverter.containsKey(tag)) {
              throw new ConverterRegisterException("Type conversion to tag " + tag.getName() + " is already registered.");
          }
  
          if(typeToConverter.containsKey(type)) {
              throw new ConverterRegisterException("Tag conversion to type " + type.getName() + " is already registered.");
          }
  
          tagToConverter.put(tag, converter);
          typeToConverter.put(type, converter);
      }
docs: Registers a converter.
  
  @param <T>       Tag type to convert from.
  @param <V>       Value type to convert to.
  @param tag       Tag type class to register the converter to.
  @param type      Value type class to register the converter to.
  @param converter Converter to register.
  @throws ConverterRegisterException If an error occurs while registering the converter.