library/src/main/java/ru/noties/storm/Storm.java
public <T, IC extends InstanceCreator<T>> void registerInstanceCreator(@NonNull Class<T> clazz, @NonNull IC ics) {
        mInstanceCreators.register(clazz, ics);
    }
public <T, IC extends InstanceCreator<T>> void registerInstanceCreator(@NonNull Class<T> clazz, @NonNull IC ics) {
        mInstanceCreators.register(clazz, ics);
    }
public < T , IC extends InstanceCreator < T > > void registerInstanceCreator ( @ NonNull Class < T > clazz , @ NonNull IC ics ) { mInstanceCreators . register ( clazz , ics ) ; }
Registers {@link ru.noties.storm.InstanceCreator} for the specified {@link java.lang.Class}.
It may be helpful and performance wise if, for example, an {@link java.lang.Object}
has no empty constructor or has very specific constructor,
or if construction of an Object via Reflection is not desired
(default {@link ru.noties.storm.InstanceCreator} for
all objects is {@link ru.noties.storm.ReflectionInstanceCreator})
@param clazz to be registered
@param ics instance of {@link ru.noties.storm.InstanceCreator}
@param <T> Type of object that {@link ru.noties.storm.InstanceCreator} will handle
@param <IC> {@link ru.noties.storm.InstanceCreator} of type T
Registers {