FacesContext facesContext = getFacesContext();
EnumSet<VisitHint> hints = EnumSet.of(VisitHint.SKIP_UNRENDERED);
final TogglePanelVisitState visitState = new TogglePanelVisitState();
VisitContext visitContext = new FullVisitContext(facesContext, hints);
panel.visitTree(visitContext, new VisitCallback() {
@Override
public VisitResult visit(VisitContext context, UIComponent target) {
if (target instanceof AbstractTogglePanelItemInterface) {
AbstractTogglePanelItemInterface item = (AbstractTogglePanelItemInterface) target;
visitState.setState(item.getName(), item);