Bug 27264 opening/closing java files in presence of hiearchical package explorer is slow
will attach profiles
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/packageview/PackageFragmentProvider.java
public void elementChanged(ElementChangedEvent event) {
		processDelta(event.getDelta());
	}
	
	public void processDelta(IJavaElementDelta delta) {
		int kind = delta.getKind();
		final IJavaElement element = delta.getElement();
		if (element instanceof IPackageFragment) {
			if (kind == IJavaElementDelta.REMOVED) {
				postRunnable(new Runnable() {
					public void run() {
						Control ctrl = fViewer.getControl();
						if (ctrl != null && !ctrl.isDisposed()) {
							if (!fFoldPackages)
								 ((TreeViewer) fViewer).remove(element);
							else
								refreshGrandParent(element);
						}
					}
				});
				return;
			} else if (kind == IJavaElementDelta.ADDED) {
				final Object parent = getParent(element);
				if (parent != null) {
					postRunnable(new Runnable() {
						public void run() {
							Control ctrl = fViewer.getControl();
							if (ctrl != null && !ctrl.isDisposed()) {
								if (!fFoldPackages)
									 ((TreeViewer) fViewer).add(parent, element);