List<List<SelectionNode>> () { AbstractSelectionGroup group = myEditorController.getSelection().getGroup(); if (group instanceof ObjectSelectionGroup) { Set<FXOMObject> items = ((ObjectSelectionGroup)group).getItems(); List<List<SelectionNode>> state = new ArrayList<>(); for (FXOMObject item : items) { List<SelectionNode> path = new ArrayList<>(); for (FXOMObject component = item; component != null; component = component.getParentObject()) { path.add(new SelectionNode(component)); } Collections.reverse(path); state.add(path); } return state; } return null; }