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/PackageExplorerContentProvider.java
return (!fIsFlatLayout && (type == IJavaElement.PACKAGE_FRAGMENT || type == IJavaElement.PACKAGE_FRAGMENT_ROOT || type == IJavaElement.JAVA_PROJECT));
	}		
	public Object[] getChildren(Object parentElement) {
		if (needsToDelegate(parentElement)) {
			Object[] packageFragments= fPackageFragmentProvider.getChildren(parentElement);
			return getWithParentsResources(packageFragments, parentElement);
		} else
			return super.getChildren(parentElement);
	}
	public Object getParent(Object child) {
		if (needsToDelegate(child)) {
			return fPackageFragmentProvider.getParent(child);
		} else
			return super.getParent(child);
	}
	/**
	 * Returns the given objects with the resources of the parent.
	 */
	private Object[] getWithParentsResources(Object[] existingObject, Object parent) {
		Object[] objects= super.getChildren(parent);
		List list= new ArrayList();
		
		for (int i= 0; i < objects.length; i++) {
			Object object= objects[i];
			if (!(object instanceof IPackageFragment)) {
				list.add(object);
			}
		}
		if (existingObject != null)
			list.addAll(Arrays.asList(existingObject));