Bug 32531 NPE importing preferences
Build id: 200302211557 Got error messages when importing preferences. I couldn't reproduce the problem anymore. Will attach stack traces (two generated in a row). Top entries are: java.lang.NullPointerException at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.rootsAndC ontainers(PackageExplorerContentProvider.java:153) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.getChildr en(PackageExplorerContentProvider.java:131) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$4.getFilteredChildre n(PackageExplorerPart.java:352) at org.eclipse.jface.viewers.StructuredViewer.getSortedChildren (StructuredViewer.java:555) at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren (AbstractTreeViewer.java:1282) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh (AbstractTreeViewer.java:925) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh (AbstractTreeViewer.java:934) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh (AbstractTreeViewer.java:895) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh (AbstractTreeViewer.java:881) at org.eclipse.jface.viewers.StructuredViewer$7.run(StructuredViewer.java:858) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection (StructuredViewer.java:798) at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:856) at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:818) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart.propertyChange (PackageExplorerPart.java:1062)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerContentProvider.java
public PackageExplorerContentProvider(boolean provideMembers, boolean provideWorkingCopy) {
		super(provideMembers, provideWorkingCopy);	
	}
	
	/* (non-Javadoc)
	 * Method declared on IElementChangedListener.
	 */
	public void elementChanged(final ElementChangedEvent event) {
		try {
			processDelta(event.getDelta());
		} catch(JavaModelException e) {
			JavaPlugin.log(e);
		}
	}
	/* (non-Javadoc)
	 * Method declared on IContentProvider.
	 */
	public void dispose() {
		super.dispose();
		JavaCore.removeElementChangedListener(this);
		fPackageFragmentProvider.dispose();
	}
	
	
	private boolean needsToDelegate(Object element) {
		int type= -1;
		if (element instanceof IJavaElement)
			type= ((IJavaElement)element).getElementType();
		return (!fIsFlatLayout && (type == IJavaElement.PACKAGE_FRAGMENT || type == IJavaElement.PACKAGE_FRAGMENT_ROOT || type == IJavaElement.JAVA_PROJECT));
	}