explain 'iterator pattern' and 'composite pattern' by examples in <Head First Design Pattern>