Bug 102150 RCP splashscreen stays forever in case of error
If a serious error occurs during the startup of an RCP application, like a missing plugin etc. so that the application could not start, the splash screen of the application stays for ever. This happens if the application is started by PDE using the "Run as eclipse application" menu, but the process has been stopped using the "Stop" button. I had to kill the new eclipse.exe process using the windows taskmanager.
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Command.java
*            <code>null</code>.
	 * @param state
	 *            The state to add; must not be <code>null</code>.
	 */
	public void addState(final String id, final IState state) {
		super.addState(id, state);
		if (handler instanceof IObjectWithState) {
			((IObjectWithState) handler).addState(id, state);
		}
	}
	/**
	 * Compares this command with another command by comparing each of its
	 * non-transient attributes.
	 * 
	 * @param object
	 *            The object with which to compare; must be an instance of
	 *            <code>Command</code>.
	 * @return A negative integer, zero or a postivie integer, if the object is
	 *         greater than, equal to or less than this command.
	 */
	public final int compareTo(final Object object) {
		final Command castedObject = (Command) object;
		int compareTo = Util.compare(category, castedObject.category);
		if (compareTo == 0) {
			compareTo = Util.compare(defined, castedObject.defined);
			if (compareTo == 0) {
				compareTo = Util.compare(description, castedObject.description);
				if (compareTo == 0) {
					compareTo = Util.compare(handler, castedObject.handler);
					if (compareTo == 0) {