Bug 27764 IResource.findMarkers is called too often
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerPart.java
}
		
			/* Checks if a filtered object in essential (ie. is a parent that
			 * should not be removed).
			 */ 
			private boolean isEssential(Object object) {
				try {
					if (!isFlatLayout() && object instanceof IPackageFragment) {
						IPackageFragment fragment = (IPackageFragment) object;
						return !fragment.isDefaultPackage() && fragment.hasSubpackages();
					}
				} catch (JavaModelException e) {
					JavaPlugin.log(e);
				}
				return false;
			}
			
		};
	}
	/**
	 * Answers whether this part shows the packages flat or hierarchical.
	 * 
	 * @since 2.1
	 */
	boolean isFlatLayout() {
		return fIsCurrentLayoutFlat;
	}
	
	private void setProviders() {