com.sun.source.tree.CaseTree is implemented by JCTree$JCCase which extends JCTree$JCStatement. All the other com.sun.source.tree.Tree's that are implemented by something that extends JCStatement extend from StatementTree, even ClassTree. Just CaseTree is the exception.
It seems CaseTree should extends StatementTree so clients of the API don't need to make a special case for CaseTree.
It seems CaseTree should extends StatementTree so clients of the API don't need to make a special case for CaseTree.