Bug 126658 [CommonNavigator] [DND] Complete definition of DND API
bundles/org.eclipse.ui.navigator.resources/src/org/eclipse/ui/internal/navigator/resources/actions/OpenActionProvider.java
.getSelection();
		if (ss == null || ss.size() != 1)
			return;
		Object o = ss.getFirstElement();
		
		IAdaptable openable = (IAdaptable) AdaptabilityUtility.getAdapter(o,
				IResource.class);
		
		if (openable == null)
			openable = (IAdaptable) AdaptabilityUtility.getAdapter(o,
					ResourceMapping.class);
		
		else if (((IResource) openable).getType() != IResource.FILE)
			openable = null;
		if (openable != null) {
			
			IMenuManager submenu = new MenuManager(
					WorkbenchNavigatorMessages.OpenWithMenu_label,
					ICommonMenuConstants.GROUP_OPEN_WITH);
			submenu.add(new GroupMarker(ICommonMenuConstants.GROUP_TOP));
			submenu.add(new OpenWithMenu(viewSite.getPage(), openable)); 
			submenu.add(new GroupMarker(ICommonMenuConstants.GROUP_ADDITIONS));
			
			if (submenu.getItems().length > 2 && submenu.isEnabled())
				aMenu.appendToGroup(ICommonMenuConstants.GROUP_OPEN_WITH,
						submenu);
		}
	}
}