個人的にはツリーのノードにあたる部分のインターフェイスを定義してから
両方のクラスはそのインターフェイスを継承して作るのがいいんじゃないかと思うがどうか