diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionTreeController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionTreeController.java index a4430a6af..e2473e132 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionTreeController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionTreeController.java @@ -40,7 +40,6 @@ import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.Button; import org.zkoss.zul.Checkbox; -import org.zkoss.zul.Label; import org.zkoss.zul.Textbox; import org.zkoss.zul.TreeModel; import org.zkoss.zul.Treecell; @@ -414,17 +413,19 @@ public class CriterionTreeController extends GenericForwardComposer { } public static TreeViewStateSnapshot snapshotOpened(Tree tree) { - Iterator itemsIterator = tree.getTreechildrenApi() - .getItems().iterator(); Set dataOpen = new HashSet(); Set all = new HashSet(); - while (itemsIterator.hasNext()) { - Treeitem treeitem = (Treeitem) itemsIterator.next(); - Object value = getAssociatedValue(treeitem); - if (treeitem.isOpen()) { - dataOpen.add(value); + if (tree != null && tree.getTreechildrenApi() != null) { + Iterator itemsIterator = tree.getTreechildrenApi() + .getItems().iterator(); + while (itemsIterator.hasNext()) { + Treeitem treeitem = (Treeitem) itemsIterator.next(); + Object value = getAssociatedValue(treeitem); + if (treeitem.isOpen()) { + dataOpen.add(value); + } + all.add(value); } - all.add(value); } return new TreeViewStateSnapshot(dataOpen, all); }