Bug 56909 [implementation] Method EditorUtitliy.revealInEditor checks for JavaEditor
In my plugin I have a MultiPageEditor that embeds a Java Editor on one of its pages. When a navigation to a Java method within the scope of my MPE is triggered the editor is correctly opened and switched to the source page, but no navigation to the method is triggered. Instead the cursor is positioned in the first row of the source code. This is due to the instanceOf check in the method EditorUtility.revealInEditor (IEditorPart part, IJavaElement element). It should be replaced by a check for the IGotoMarker interface. That would enable Java source navigation to quite a bunch of editors that have no chance to implement JavaEditor themselfes.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/EditorUtility.java
* @param stateMask	the SWT modifier bits
	 * @return the modifier string
	 * @since 2.1.1
	 */
	public static String getModifierString(int stateMask) {
		String modifierString= ""; 
		if ((stateMask & SWT.CTRL) == SWT.CTRL)
			modifierString= appendModifierString(modifierString, SWT.CTRL);
		if ((stateMask & SWT.ALT) == SWT.ALT)
			modifierString= appendModifierString(modifierString, SWT.ALT);
		if ((stateMask & SWT.SHIFT) == SWT.SHIFT)
			modifierString= appendModifierString(modifierString, SWT.SHIFT);
		if ((stateMask & SWT.COMMAND) == SWT.COMMAND)
			modifierString= appendModifierString(modifierString,  SWT.COMMAND);
		
		return modifierString;
	}
	/**
	 * Appends to modifier string of the given SWT modifier bit
	 * to the given modifierString.
	 * 
	 * @param modifierString	the modifier string
	 * @param modifier			an int with SWT modifier bit
	 * @return the concatenated modifier string
	 * @since 2.1.1
	 */
	private static String appendModifierString(String modifierString, int modifier) {
		if (modifierString == null)
			modifierString= ""; 
		String newModifierString= Action.findModifierString(modifier);