@Nullable abstract fun <T : Any!> chooseConstructor(@NotNull typeToken: TypeToken<T>): Constructor<T>?