Iterator and Composite pattern commit