Bug 46393 [RCP] Lost nature icon on project
N20031111 start fresh workspace, create a Java project ==> missing nature icon "J"
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/IDERegistryReader.java
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Hashtable;
import org.eclipse.core.runtime.*;
import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
/**
 *	Template implementation of a registry reader that creates objects
 *	representing registry contents. Typically, an extension
 * contains one element, but this reader handles multiple
 * elements per extension.
 *
 * To start reading the extensions from the registry for an
 * extension point, call the method <code>readRegistry</code>.
 *
 * To read children of an IConfigurationElement, call the
 * method <code>readElementChildren</code> from your implementation
 * of the method <code>readElement</code>, as it will not be
 * done by default.
 */
public abstract class IDERegistryReader {
	protected static final String TAG_DESCRIPTION = "description";	
	protected static Hashtable extensionPoints = new Hashtable();
	
	private static final Comparator comparer = new Comparator() {
		public int compare(Object arg0, Object arg1) {
			String s1 = ((IExtension)arg0).getDeclaringPluginDescriptor().getUniqueIdentifier();
			String s2 = ((IExtension)arg1).getDeclaringPluginDescriptor().getUniqueIdentifier();
			return s1.compareToIgnoreCase(s2);
		}