I thought Id toss this out here since Im discussing using this as part of the solution to a specific bug. The idea is simple:
1. Add the ability to recursively travel a Component hierarchy with a Visitor.
say for example, the user wants to disable all the widgets in a Hierarchy but also wants to restore them to their enabled state. The user could create a Visitor instance and have it travel the hierarchy turning off each widget but also keeping track of its previous state. Upon deciding that its time to restore things, he configures his Vistor to restore the previous state and sends the Vistor down the hierarchy again.
I think a positive of this capability would be that it would make it simpler to define new operations that need to be performed on groups of components without having to write component tree walking code, or in the case where its seen as something that is standard for the JDK you wouldn't need to add a new method for the enmasse change.
Id think the interface would need to have two methods:
Descending would be called upon the first contact with the visitor.
Ascending would be called upon after the first contact and after the children have been visited.
This way the user would have control as to when he wants his operations to be performed.