private static boolean saveChangesRecursively(Component comp) {
    	if (comp instanceof YIComponent) {
        	YController controller = (YController) 
				((YIComponent)comp).getYProperty().get(YIComponent.CONTROLLER);
        	if (controller != null) {
        		if (! changesSaved(controller)) {
        			return false;
        		}
        	}
        }
	    comp = YUIToolkit.getContentPane(comp);
        if (comp instanceof Container) {
        	Component[] comps = ((Container)comp).getComponents();
        	for (int i = 0; i < comps.length; i++) {
        		Component child = comps[i];
        		if (! saveChangesRecursively(child)) {
                     return false;
                 }
             }
         }
         return true;
    }