Bug 6691 Hierarchy View: Show inherited members + Show members
20011206 (Win2K) - Open a deep hierarchy in a Hierarchy view (I opened the SWT Widget hierarchy) - Select a class that is low in the hierarchy and overrides at least one method from a superclass (I selected Table) - Click on the "Show inherited members" tool, so that you see all implementors of overridden methods (for example, in Table, you can see 3 implementors of callWindowProc(int, int, int) ) - Select more than one method with the same signature (for example, I had all 3 implementors of callWindowProc(int, int, int) selected). - Now selet the "Lock View and Show Members in Hierarchy" tool. You will have multiple versions of the method under each class that implements the method. There should only be one.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/typehierarchy/TypeHierarchyContentProvider.java
protected boolean fShowAllTypes;
	
	protected TreeViewer fViewer;
	
	public TypeHierarchyContentProvider(TypeHierarchyLifeCycle lifecycle) {
		fTypeHierarchy= lifecycle;
		fMemberFilter= null;
		fShowAllTypes= false;
	}
	
	/**
	 * Sets members to filter the hierarchy for. Set to <code>null</code> to disable member filtering.
	 * When member filtering is enabled, the hierarchy contains only types that contain
	 * an implementation of one of the filter members and the members themself.
	 * The hierarchy can be empty as well.
	 */
	public void setMemberFilter(IMember[] memberFilter) {
		fMemberFilter= memberFilter;
	}
	
	/**
	 * The members to filter or <code>null</code> if member filtering is disabled.
	 */
	public IMember[] getMemberFilter() {
		return fMemberFilter;
	}
	
	/**
	 * In member filtering mode, show all types even if they do not contain one
	 * of the filtered members