+ Collection<IG3DNode> nodes = AdaptionUtils.adaptToCollection(selection, IG3DNode.class);
+ Collection<Resource> resources= AdaptionUtils.adaptToCollection(selection, Resource.class);
+ if (nodes.size() > 0) {
+ processSelection(selection);
+ fireSelectionChanged(this);
+ } else if (resources.size() > 0) {
+ nodes = new ArrayList<IG3DNode>();
+ for (Resource r : resources) {
+ JavaObject n = mapping.get((DBObject)r);
+ if (n instanceof IG3DNode) {
+ nodes.add((IG3DNode)n);
+ }
+ }
+ processSelection(new StructuredSelection(nodes.toArray()));
+ fireSelectionChanged(this);
+ }