You review a design written by somebody else for an application and you find these: - an interface Shape with a method draw() - a class Circle that implements Shape - a class Rectangle that implements Shape - a class CompoundShape that: o implements interface Shape o aggregates 0 or more Shape objects, o has an extra method called add(Shape sh) o for implementing method draw() calls the draw() method for all aggregated Shape objects. You assume that a CompoundShape object is made of multiple shapes. What design pattern is at work in this application? Explain your answer.