Exercice : Suppression d'une partie de l'arbrorescence

Code source de l'énoncé

En partant de Suppression.java (qui est une variante de DiagrammeGOF2.java),
conserver la méthode print() et rajouter une une opération delete()
delete() doit supprimer dans la liste des enfants de son parent TOUTES les occurences de lui-même.

Par exemple, si on a :
parent
    enfant1
    enfant2
    enfant3
    enfant1
Et qu'on fait enfant1.delete(), on obtient :
parent
    enfant2
    enfant3
Donc si dans Suppression.java, vous remplacez dans main()
        root.print();
par
        System.out.println("=== Avant suppression ===");
        root.print();
        System.out.println("=== Après suppression de node1_2 ===");
        node1_2.delete();
        root.print();
vous obtiendrez :
=== Avant suppression ===
root
  composite 1.1
    leaf 1.1.1
    leaf 1.1.2
  composite 1.2
    leaf 1.2.1
    composite 1.2.2
      leaf 1.2.2.1
      leaf 1.2.2.2
    leaf 1.2.1
  composite 1.2
    leaf 1.2.1
    composite 1.2.2
      leaf 1.2.2.1
      leaf 1.2.2.2
    leaf 1.2.1
=== Après suppression de node1_2 ===
root
  composite 1.1
    leaf 1.1.1
    leaf 1.1.2