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/text/AbstractInformationControl.java
protected abstract TreeViewer createTreeViewer(Composite parent, int style);
	protected TreeViewer getTreeViewer() {
		return fTreeViewer;
	}
	protected Text createFilterText(Composite parent) {
		fFilterText= new Text(parent, SWT.FLAT);
		GridData data= new GridData();
		GC gc= new GC(parent);
		gc.setFont(parent.getFont());
		FontMetrics fontMetrics= gc.getFontMetrics();
		gc.dispose();
		data.heightHint= org.eclipse.jface.dialogs.Dialog.convertHeightInCharsToPixels(fontMetrics, 1);
		data.horizontalAlignment= GridData.FILL;
		data.verticalAlignment= GridData.BEGINNING;
		fFilterText.setLayoutData(data);
		
		fFilterText.addKeyListener(new KeyListener() {
			public void keyPressed(KeyEvent e) {
				if (e.keyCode == 0x0D) 
					gotoSelectedElement();
				if (e.keyCode == SWT.ARROW_DOWN)
					fTreeViewer.getTree().setFocus();
				if (e.keyCode == SWT.ARROW_UP)
					fTreeViewer.getTree().setFocus();
				if (e.character == 0x1B) 
					dispose();
			}
			public void keyReleased(KeyEvent e) {
				
			}