Bug 32906 Open (in) Type Hierarchy: expansion state is inconsistent across the modes 'show type/supertype/subtype hierarchy' [type hierarchy]
case 1: - select 'show type hierarchy' in the hierarchy view - in an editor press F4 on a class name -> 'show type hierarchy' is ok -> 'show supertype hierarchy' is collapsed -> 'show subtype hierarchy' is ok case 2: - select 'show supertype hierarchy' - in an editor press F4 on a class name -> 'show supertype hierarchy' is ok -> 'show type hierarchy' is only expanded down to the focused type, this is inconsistent with case 1 -> 'show subtype hierarchy' is collapsed case 3: - select 'show subtype hierarchy' - in an editor press F4 on a class name -> 'show subtype hierarchy' is only expanded to level 1 (which is consistent but impractical) -> 'show supertype hierarchy' is collapsed -> 'show type hierarchy' is only expanded down to the focused type, this is inconsistent with case 1
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/typehierarchy/TypeHierarchyViewPart.java
if (nSelected == 1) {
					revealElementInEditor(selected.get(0), getCurrentViewer());
				}
			} else {
				fSelectedType= null;
				updateMethodViewer(null);
			}
		}
	}
	
	private void revealElementInEditor(Object elem, Viewer originViewer) {
		
		
		
		if (getSite().getPage().getActivePart() != this) {
			return;
		}
		
		if (fSelectionProviderMediator.getViewerInFocus() != originViewer) {
			return;
		}
		
		IEditorPart editorPart= EditorUtility.isOpenInEditor(elem);
		if (editorPart != null && (elem instanceof IJavaElement)) {
			getSite().getPage().removePartListener(fPartListener);
			getSite().getPage().bringToTop(editorPart);
			EditorUtility.revealInEditor(editorPart, (IJavaElement) elem);
			getSite().getPage().addPartListener(fPartListener);
		}
	}