1. One nesting level. Level 1 targets an actionListener.

2. Two nesting levels. Level 1 defines a custom actionListener and passes it to level 2. Level 2 targets an actionListener.

3. Two nesting levels. Level 1 defines a bean and passes a property as an actionListener to level 2. Level 2 targets an actionListener.

4. Three nesting levels. Level 1 defines a bean and passes a property as a custom actionListener to level 2. Level 2 defines a custom actionListener and passes it to level 3. Level 3 targets an actionListener.

5. Three nesting levels. Level 1 defines a custom actionListener and passes it to level 2. Level 2 defines a custom actionListener and passes it to level 3. Level 3 targets an actionListener.