Bug 37884 Show Type hierarchy scalability problem
corner case but... 1) Open Object 2) select toString in the editor 3) ctrl-t 4) type T to filter the list ->this takes minutes The filtering is done after every keystroke. A first improvement is to do the refiltering after a time out. Another solution is to use the separate thread solution as is done in the ElementListSelectionDialog
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/typehierarchy/HierarchyInformationControl.java
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.jdt.core.IClassFile;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IImportDeclaration;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IMember;
import org.eclipse.jdt.core.IMethod;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.ITypeHierarchy;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.core.Signature;
import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
import org.eclipse.jdt.internal.ui.JavaPlugin;
import org.eclipse.jdt.internal.ui.text.AbstractInformationControl;
import org.eclipse.jdt.internal.ui.typehierarchy.TraditionalHierarchyViewer.TraditionalHierarchyContentProvider;
import org.eclipse.jdt.internal.ui.viewsupport.DecoratingJavaLabelProvider;
import org.eclipse.jdt.internal.ui.viewsupport.JavaElementLabels;
/**
 *
 */
public class HierarchyInformationControl extends AbstractInformationControl {
	
	private class HierarchyInformationControlLabelProvider extends HierarchyLabelProvider {
		public HierarchyInformationControlLabelProvider(TypeHierarchyLifeCycle lifeCycle) {
			super(lifeCycle);
		}
				
		protected boolean isDifferentScope(IType type) {
			if (fFocus == null) {