code: public SerializerRegistry registerAbstract(Class<?> abstractType, int id, TypeSerializerFactory factory) {
      abstractFactories.put(abstractType, factory);
      types.put(id, abstractType);
      ids.put(abstractType, id);
      return this;
    }
docs: Registers the given class as an abstract serializer for the given abstract type.
  
  @param abstractType The abstract type for which to register the serializer.
  @param id The serializable type ID.
  @param factory The serializer factory.
  @return The serializer registry.