В классе ListPresenter вы не правильно реализуете метод приемки потребителя.
Мы используем обобщенные значения, чтобы разрешить типам (целое число, число с плавающей запятой и т. Д.) Быть параметром.Когда мы определяем класс или что-то для использования Generics, мы используем эти угловые скобки, но когда мы должны использовать этот тип, нам не нужно использовать угловые скобки
Пример: -
interface Consumer<T> { //Defining Interface that's why using <>
void accept(T t); //here this method can accept a parameter of T type
T returnSomething(int n) //here this method is having return type of T
}
Таким образом, в вашем классе ListPresenter вы предоставляете два типа возвращаемого типа для метода accept интерфейса Consumer.
public <T> void accept(ListResponse<T> response)
должен быть этим
public void accept(ListResponse<T> response)
или This, если он имеет общий возвраттип
public T accept(ListResponse<T> response)