public void broadcast(FacesEvent event) throws AbortProcessingException {
super.broadcast(event);
DataComponentState componentState = getComponentState();
if (componentState instanceof FacesListener) {
FacesListener facesListener = (FacesListener) componentState;
if (event.isAppropriateListener(facesListener)) {
// we can safely open/close nodes here