Bug 38140 SnippetOpenOnSelectionAction subclasses OpenAction although OpenAction isn't made for subclassing
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/OpenAction.java
return;
		run(selection.toArray());
	}
	
	public void run(Object[] elements) {
		if (elements == null)
			return;
		for (int i= 0; i < elements.length; i++) {
			Object element= elements[i];
			try {
				element= getElementToOpen(element);
				boolean activateOnOpen= fEditor != null ? true : OpenStrategy.activateOnOpen();
				OpenActionUtil.open(element, activateOnOpen);
			} catch (JavaModelException e) {
				JavaPlugin.log(new Status(IStatus.ERROR, JavaPlugin.getPluginId(),
					IJavaStatusConstants.INTERNAL_ERROR, ActionMessages.getString("OpenAction.error.message"), e)); 
				
				ErrorDialog.openError(getShell(), 
					getDialogTitle(),
					ActionMessages.getString("OpenAction.error.messageProblems"),  
					e.getStatus());
			
			} catch (PartInitException x) {
								
				String name= null;
				
				if (element instanceof IJavaElement) {
					name= ((IJavaElement) element).getElementName();
				} else if (element instanceof IStorage) {
					name= ((IStorage) element).getName();