В Kotlin я могу объявить тип с ковариантным типом как таковой.
class Request<out T> { }
И контравариантный тип как следующий
class Request<in T> { }
Я изо всех сил пытаюсь определить, как этого можно достичь с помощью Java. В частности, более продвинутые дженерики в Kotlin, такие как следующие.
interface RequestHandler<in TRequest, TResponse> where TRequest: Request<TResponse> { }
Что такое эквивалент Java?