Bug 17910 OpenRefactoringWIzardAction: is API but has protected method that us internal classes
F1 Opt to remove the class and use an internal helper class instead.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/OpenRefactoringWizardAction.java
super(site);
		Assert.isNotNull(unavailableString);
		Assert.isNotNull(activatedOnType);
		setText(label);
		fActivationType= activatedOnType;
		fCanActivateOnMultiSelection= canActivateOnMultiSelection;
		fUnavailableMessage= unavailableString;
	}
	
	protected OpenRefactoringWizardAction(String label, String unavailableString, CompilationUnitEditor editor, Class activatedOnType, boolean canActivateOnMultiSelection) {
		this(label, unavailableString, editor.getEditorSite(), activatedOnType, canActivateOnMultiSelection);
		fEditor= editor;
	}
	
	/*
	 * @see SelectionDispatchAction#selectionChanged(IStructuredSelection)
	 */
	protected void selectionChanged(IStructuredSelection selection) {
		setEnabled(canEnable(selection));
	}
	protected void selectionChanged(ITextSelection selection) {
		
		setEnabled(checkEnabled(selection));
	}
	
	private boolean checkEnabled(ITextSelection selection) {
		if (fEditor == null)
			return false;
		return SelectionConverter.getInputAsCompilationUnit(fEditor) != null;
	}