open:composite-pattern