Consider the following recursive tree structure of a CompositeGraphic object. Implement a complete Java program that creates and prints this CompositeGraphic object using the Composite Pattern. Your implementation should include an interface called Component that defines a print() method, a class representing CompositeGraphic, a class representing a leaf called Circle, and a tester class. The tester creates the CompositeGraphic object represented by the following recursive tree structure and prints "Circle" 4 times. Note that this is a console application without using GUI.