Composite パターン
Composite パターンを用いる際には、データ構造がきちんと木構造を保つようにしなければならない。 親子関係が循環してしまった場合、Component#operation()を実行した際に無限ループに陥るからである。
例えば、利用例のソースコードを書き換えた以下のプログラムは、処理が
dir1.defaultMethod(0);
の行に達した時に、無限に出力し続けてしまう。