Ein Document hat eine oder mehrere Pages, welche in einer Liste geführt werden.
Jede Page besteht aus Texten, Linien, Rechtecken, Ovalen. Die Gesamtheit der verfügbaren Elemente weisen alle das Verhalten paint() auf. Jede Page hat kein, ein oder mehrere Elemente zugeordnet, welche wiederum in einer Liste geführt werden.
Mit dem Zerstören einer Page werden alle Elemente, welche der Page angehören auch zerstört. Das gleiche gilt für das Document.
Eine Menge von Elementen ist gruppierbar (Group). Eine Group kann aber auch leer sein oder beliebig viele Elemente enthalten, welche wiederum in einer Liste geführt werden. Eine Group kann wiederum Groups enthalten. Jede Page darf somit auch Gruppen enthalten.
Lösen Sie bitte die Aufgabe wie folgt: