setSelectedNode();
    public void refreshEdition(DataObject object, int op)    {        switch (model.getState()) {            case NEW:            case READY:                   break;            default:                new IllegalStateException("This method can only be invoked " +                        "in the NEW or READY state.");        }        Object o = object;        List nodes = null;        TreeImageDisplay parentDisplay = null;        if (op == TreeViewer.CREATE_OBJECT) {            TreeImageDisplay node = getLastSelectedDisplay();            if ((object instanceof ProjectData) ||                (object instanceof CategoryGroupData)) {                nodes = new ArrayList(1);                nodes.add(view.getTreeRoot());                parentDisplay = view.getTreeRoot();            } else                 o = node.getUserObject();        }        if (nodes == null) {            EditVisitor visitor = new EditVisitor(this, o);            accept(visitor, TreeImageDisplayVisitor.ALL_NODES);            nodes = visitor.getFoundNodes();        }                if (op == TreeViewer.UPDATE_OBJECT) view.updateNodes(nodes, object);        else if (op == TreeViewer.REMOVE_OBJECT) removeNodes(nodes);        else if (op == TreeViewer.CREATE_OBJECT) {            long userID = model.getUserID();            long groupID = model.getRootGroupID();            if (parentDisplay == null)                parentDisplay = getLastSelectedDisplay();            createNodes(nodes,                     TreeViewerTranslator.transformDataObject(object, userID,                             groupID), parentDisplay);        }         }