Отказ от ответственности: у меня нет целого опыта работы с Java Generics, но мы с коллегами провели цельный час, пытаясь расшифровать интерфейс, который был структурирован следующим образом:
interface HasAttributes<A extends HasAttributes<A, B>,
B extends HasAttributesType<B>> extends Identification<B> {
Что именно означает, когда интерфейс generic принимает параметр типа, который сам по себе? Что это делает?