001    // Exercise 2: printInfoAboutCycles
002    
003    aspect PrintInfoAboutCycles {
004      public void StateMachine.printInfoAboutCycles() {
005        for (Declaration d : getDeclarationList()) {
006          d.printInfoAboutCycles();
007        }
008      }
009      
010      public void Declaration.printInfoAboutCycles() {}
011      
012      public void State.printInfoAboutCycles() {
013        System.out.print("State "+getLabel()+" is ");
014        if (!reachable().contains(this)) {
015          System.out.print("not ");
016        }
017        System.out.println("on a cycle.");
018      }
019    }