How to verify the (generic (generic argument))?
问题 Background (that we don't really need to worry about) This is a question derived from Build A Generic Tree With Inheritance . I open this one as a separate question because this is not only related to a Tree problem. This is more a Generic and Class problem instead. Question To be better illustrated by codes, we have a Tree class, a SubTree class, and a WrongSubTree class: class Tree<TREE extends Tree<?,?>, DATA> { } class SubTree<STREE extends SubTree<?,?>, DATA> extends Tree<STREE, DATA> {