Bug 15486 Hierarchy View takes 8 minutes to start up
In my workspace I have 24 projects. In each case, the java build path contains about 20 or more jar files from a target platform which I am extending with new plugins. I have one java perspective, which contains the following views: packages, navigator, outline. In the shortcut bar, I have the tasks, search, and repository view. There are no editors open. It takes about 20 seconds to start up. If I open the JavaEditor class using Open Type.., a java edior opens on the class and the hierarchy view opens. If I close the editor, shutdown, and restart, it takes me 8 minutes to restart. If I close the hierarchy view, shutdown, and restart, it takes about 20 seconds to start up. I am now afraid to shutdown eclipse with the hierarchy view open. Please help me.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/typehierarchy/TypeHierarchyViewPart.java
/**
	 * Sets the member filter. <code>null</code> disables member filtering.
	 */	
	private void setMemberFilter(IMember[] memberFilter) {
		Assert.isNotNull(fAllViewers);
		for (int i= 0; i < fAllViewers.length; i++) {
			fAllViewers[i].setMemberFilter(memberFilter);
		}
	}	
	
	private IType getSelectableType(IJavaElement elem) {
		ISelection sel= null;
		if (elem.getElementType() != IJavaElement.TYPE) {
			return (IType) getCurrentViewer().getTreeRootType();
		} else {
			return (IType) elem;
		}
	}
	
	private void internalSelectType(IMember elem, boolean reveal) {	
		TypeHierarchyViewer viewer= getCurrentViewer();
		viewer.removeSelectionChangedListener(fSelectionChangedListener);
		viewer.setSelection(elem != null ? new StructuredSelection(elem) : StructuredSelection.EMPTY, reveal);
		viewer.addSelectionChangedListener(fSelectionChangedListener);
	}
	
	private void internalSelectMember(IMember member) {
		fMethodsViewer.removeSelectionChangedListener(fSelectionChangedListener);
		fMethodsViewer.setSelection(member != null ? new StructuredSelection(member) : StructuredSelection.EMPTY);
		fMethodsViewer.addSelectionChangedListener(fSelectionChangedListener);