code: public Serializer register(Class<?> type, TypeSerializerFactory factory) {
      registry.register(type, factory);
      return this;
    }
docs: Registers a type serializer factory.
  <p>
  Because a custom {@link TypeSerializerFactory} is provided, the registered {@code type} can be any class and does not have to
  implement any particular interface.
  <p>
  The serializer factory can be registered for more than one {@code type} class. The factory will be called on to
  create a new {@link TypeSerializer} instance once for each type for which the serializer is
  registered per {@link Serializer} instance. If the {@code Serializer} instance is {@link Serializer#clone() cloned},
  the serializer factory will be copied and a new {@link TypeSerializer} will be instantiated for the clone.
  
  @param type The serializable type.
  @param factory The serializer factory to register.
  @return The serializer instance.