[105888] don't put org.eclipse.emf.common.command in org.eclipse.wst.sse.core
diff --git a/bundles/org.eclipse.wst.sse.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.sse.core/META-INF/MANIFEST.MF
index 6c5d7e8..73e4697 100644
--- a/bundles/org.eclipse.wst.sse.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.sse.core/META-INF/MANIFEST.MF
@@ -6,7 +6,7 @@
 Bundle-Activator: org.eclipse.wst.sse.core.internal.SSECorePlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.common.command,
+Export-Package: 
  org.eclipse.wst.sse.core.internal,
  org.eclipse.wst.sse.core.internal.cleanup,
  org.eclipse.wst.sse.core.internal.document,
@@ -38,5 +38,6 @@
  org.eclipse.text;visibility:=reexport,
  org.eclipse.core.runtime,
  org.eclipse.core.filebuffers,
- org.eclipse.wst.common.uriresolver
+ org.eclipse.wst.common.uriresolver,
+ org.eclipse.emf.common
 Eclipse-AutoStart: true
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/AbstractCommand.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/AbstractCommand.java
deleted file mode 100644
index 151f79d..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/AbstractCommand.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/**
- * <copyright> 
- *
- * Copyright (c) 2002-2004 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- *   IBM - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: AbstractCommand.java,v 1.3 2005/06/06 05:36:11 david_williams Exp $
- */
-package org.eclipse.emf.common.command;
-
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.osgi.util.NLS;
-
-
-/**
- * An abstract implementation of a basic command. Each derived class
- * <bold>must</bold> implement {@link Command#execute} and
- * {@link Command#redo}, <bold>must</bold> either implement {@link #undo} or
- * implement {@link #canUndo} to return false, and <bold>must</bold> either
- * override {@link #prepare} (this is the preferred approach) or can override
- * {@link #canExecute} directly.
- * 
- * <p>
- * It is very convenient to use prepare, as it is guaranteed to be called only
- * once just before canExecute is to be tested. It can be implemented to
- * create any additional commands that need to be executed, and the result it
- * yields becomes the permanent cached return value for canExecute.
- * 
- */
-public abstract class AbstractCommand implements Command {
-	/**
-	 * Keeps track of whether prepare needs to be called. It is tested in
-	 * {@link #canExecute} so that {@link #prepare} is called exactly once to
-	 * ready the command for execution.
-	 */
-	protected boolean isPrepared;
-
-	/**
-	 * Keeps track of whether the command is executable. It is set in
-	 * {@link #canExecute} to the result of calling {@link #prepare}.
-	 */
-	protected boolean isExecutable;
-
-	/**
-	 * Holds a short textual description of the command as returned by
-	 * {@link #getDescription} and set by {@link #setDescription}.
-	 */
-	protected String description;
-
-	/**
-	 * Holds the label of the command as returned by {@link #getLabel} and set
-	 * by {@link #setLabel}.
-	 */
-	protected String label;
-
-	/**
-	 * Creates an empty instance.
-	 */
-	protected AbstractCommand() {
-	}
-
-	/**
-	 * Creates an instance with the given label.
-	 * 
-	 * @param label
-	 *            the label.
-	 */
-	protected AbstractCommand(String label) {
-		this.label = label;
-	}
-
-	/**
-	 * Creates and instance with the given label and description.
-	 * 
-	 * @param label
-	 *            the label.
-	 * @param description
-	 *            the description.
-	 */
-	protected AbstractCommand(String label, String description) {
-		this.label = label;
-		this.description = description;
-	}
-
-	/**
-	 * Called at most once in {@link #canExecute} to give the command an
-	 * opportunity to ready itself for execution. The returned value is stored
-	 * in {@link #canExecute}. In other words, you can override this method
-	 * to initialize and to yield a cached value for the all subsequent calls
-	 * to canExecute.
-	 * 
-	 * @return whether the command is executable.
-	 */
-	protected boolean prepare() {
-		return false;
-	}
-
-	/**
-	 * Calls {@link #prepare}, caches the result in {@link #isExecutable},
-	 * and sets {@link #isPrepared} to <code>true</code>; from then on, it
-	 * will yield the value of isExecutable.
-	 * 
-	 * @return whether the command can execute.
-	 */
-	public boolean canExecute() {
-		if (!isPrepared) {
-			isExecutable = prepare();
-			isPrepared = true;
-		}
-
-		return isExecutable;
-	}
-
-	/**
-	 * Returns <code>true</code> because most command should be undoable.
-	 * 
-	 * @return <code>true</code>.
-	 */
-	public boolean canUndo() {
-		return true;
-	}
-
-	/**
-	 * Throws a runtime exception.
-	 * 
-	 * @exception UnsupportedOperationException
-	 *                always.
-	 */
-	public void undo() {
-		throw new RuntimeException(NLS.bind(UnDoCommonMessages._EXC_Method_not_implemented, this.getClass().getName() + ".undo()")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns an empty list.
-	 * 
-	 * @return an empty list.
-	 */
-	public Collection getResult() {
-		return Collections.EMPTY_LIST;
-	}
-
-	/**
-	 * Returns an empty list.
-	 * 
-	 * @return an empty list.
-	 */
-	public Collection getAffectedObjects() {
-		return Collections.EMPTY_LIST;
-	}
-
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public String getLabel() {
-		return label == null ? UnDoCommonMessages._UI_AbstractCommand_label : label;
-	}
-
-	/**
-	 * Sets the label after construction.
-	 * 
-	 * @param label
-	 *            the new label.
-	 */
-	public void setLabel(String label) {
-		this.label = label;
-	}
-
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public String getDescription() {
-		return description == null ? UnDoCommonMessages._UI_AbstractCommand_description : description;
-	}
-
-	/**
-	 * Sets the description after construction.
-	 * 
-	 * @param description
-	 *            the new description.
-	 */
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	/**
-	 * Creates a new compound command, containing this command and the given
-	 * command, that delegates chain to {@link CompoundCommand#append}.
-	 * 
-	 * @param command
-	 *            the command to chain with this one.
-	 * @return a new chained compound command.
-	 */
-	public Command chain(Command command) {
-		class ChainedCompoundCommand extends CompoundCommand {
-			public ChainedCompoundCommand() {
-			}
-
-			public Command chain(Command c) {
-				append(c);
-				return this;
-			}
-		}
-
-		CompoundCommand result = new ChainedCompoundCommand();
-		result.append(this);
-		result.append(command);
-		return result;
-	}
-
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * Returns an abbreviated name using this object's own class' name,
-	 * without package qualification, followed by a space separated list of
-	 * <tt>field:value</tt> pairs.
-	 * 
-	 * @return string representation.
-	 */
-	public String toString() {
-		String className = getClass().getName();
-		int lastDotIndex = className.lastIndexOf('.');
-		StringBuffer result = new StringBuffer(lastDotIndex == -1 ? className : className.substring(lastDotIndex + 1));
-		result.append(" (label: " + label + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-		result.append(" (description: " + description + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-		result.append(" (isPrepared: " + isPrepared + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-		result.append(" (isExecutable: " + isExecutable + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		return result.toString();
-	}
-
-	/**
-	 * A marker interface implemented by commands that don't dirty the model.
-	 */
-	public static interface NonDirtying {
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/BasicCommandStack.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/BasicCommandStack.java
deleted file mode 100644
index 064efda..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/BasicCommandStack.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/**
- * <copyright> 
- *
- * Copyright (c) 2002-2004 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- *   IBM - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: BasicCommandStack.java,v 1.3 2005/06/06 05:36:11 david_williams Exp $
- */
-package org.eclipse.emf.common.command;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.EventObject;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
-import org.eclipse.wst.sse.core.internal.Logger;
-
-
-/**
- * A basic and obvious implementation of an undoable stack of commands. See
- * {@link Command} for more details about the command methods that this
- * implementation uses.
- */
-public class BasicCommandStack implements CommandStack {
-	/**
-	 * The list of commands.
-	 */
-	protected List commandList;
-
-	/**
-	 * The current position within the list from which the next execute, undo,
-	 * or redo, will be performed.
-	 */
-	protected int top;
-
-	/**
-	 * The command most recently executed, undone, or redone.
-	 */
-	protected Command mostRecentCommand;
-
-	/**
-	 * The {@link CommandStackListener}s.
-	 */
-	protected Collection listeners;
-
-	/**
-	 * The value of {@link #top} when {@link #saveIsDone} is called.
-	 */
-	protected int saveIndex = -1;
-
-	/**
-	 * Creates a new empty instance.
-	 */
-	public BasicCommandStack() {
-		commandList = new ArrayList();
-		top = -1;
-		listeners = new ArrayList();
-	}
-
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public void execute(Command command) {
-		// If the command is executable, record and execute it.
-		//
-		if (command != null && command.canExecute()) {
-			// Clear the list past the top.
-			//
-			for (ListIterator commands = commandList.listIterator(top + 1); commands.hasNext(); commands.remove()) {
-				Command otherCommand = (Command) commands.next();
-				otherCommand.dispose();
-			}
-
-			try {
-				command.execute();
-				mostRecentCommand = command;
-				commandList.add(command);
-				++top;
-			}
-			catch (RuntimeException exception) {
-				handleError(exception);
-
-				mostRecentCommand = null;
-				command.dispose();
-			}
-
-			// This is kind of tricky.
-			// If the saveIndex was in the redo part of the command list which
-			// has now been wiped out,
-			// then we can never reach a point where a save is not necessary,
-			// not even if we undo all the way back to the beginning.
-			//
-			if (saveIndex >= top) {
-				// This forces isSaveNeded to always be true.
-				//
-				saveIndex = -2;
-			}
-
-			notifyListeners();
-		}
-		else {
-			command.dispose();
-		}
-	}
-
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public boolean canUndo() {
-		return top != -1 && ((Command) commandList.get(top)).canUndo();
-	}
-
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public void undo() {
-		if (canUndo()) {
-			Command command = (Command) commandList.get(top--);
-			try {
-				command.undo();
-				mostRecentCommand = command;
-			}
-			catch (RuntimeException exception) {
-				handleError(exception);
-
-				mostRecentCommand = null;
-				flush();
-			}
-
-			notifyListeners();
-		}
-	}
-
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public boolean canRedo() {
-		return top < commandList.size() - 1;
-	}
-
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public void redo() {
-		if (canRedo()) {
-			Command command = (Command) commandList.get(++top);
-			try {
-				command.redo();
-				mostRecentCommand = command;
-			}
-			catch (RuntimeException exception) {
-				handleError(exception);
-
-				mostRecentCommand = null;
-
-				// Clear the list past the top.
-				//
-				for (ListIterator commands = commandList.listIterator(top--); commands.hasNext(); commands.remove()) {
-					Command otherCommand = (Command) commands.next();
-					otherCommand.dispose();
-				}
-			}
-
-			notifyListeners();
-		}
-	}
-
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public void flush() {
-		// Clear the list.
-		//
-		for (ListIterator commands = commandList.listIterator(); commands.hasNext(); commands.remove()) {
-			Command command = (Command) commands.next();
-			command.dispose();
-		}
-		commandList.clear();
-		top = -1;
-		saveIndex = -1;
-		notifyListeners();
-		mostRecentCommand = null;
-	}
-
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public Command getUndoCommand() {
-		return top == -1 || top == commandList.size() ? null : (Command) commandList.get(top);
-	}
-
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public Command getRedoCommand() {
-		return top + 1 >= commandList.size() ? null : (Command) commandList.get(top + 1);
-	}
-
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public Command getMostRecentCommand() {
-		return mostRecentCommand;
-	}
-
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public void addCommandStackListener(CommandStackListener listener) {
-		listeners.add(listener);
-	}
-
-	/*
-	 * Javadoc copied from interface.
-	 */
-	public void removeCommandStackListener(CommandStackListener listener) {
-		listeners.remove(listener);
-	}
-
-	/**
-	 * This is called to ensure that
-	 * {@link CommandStackListener#commandStackChanged} is called for each
-	 * listener.
-	 */
-	protected void notifyListeners() {
-		for (Iterator i = listeners.iterator(); i.hasNext();) {
-			((CommandStackListener) i.next()).commandStackChanged(new EventObject(this));
-		}
-	}
-
-	/**
-	 * Handles an exception thrown during command execution by loging it with
-	 * the plugin.
-	 */
-	protected void handleError(Exception exception) {
-		Logger.logException(UnDoCommonMessages._UI_IgnoreException_exception, exception);
-	}
-
-	/**
-	 * Called after a save has been successfully performed.
-	 */
-	public void saveIsDone() {
-		// Remember where we are now.
-		//
-		saveIndex = top;
-	}
-
-	/**
-	 * Returns whether the model has changes since {@link #saveIsDone} was
-	 * call the last.
-	 * 
-	 * @return whether the model has changes since <code>saveIsDone</code>
-	 *         was call the last.
-	 */
-	public boolean isSaveNeeded() {
-		// Only if we are at the remembered index do we NOT need to save.
-		//
-		// return top != saveIndex;
-
-		if (saveIndex < -1) {
-			return true;
-		}
-
-		if (top > saveIndex) {
-			for (int i = top; i > saveIndex; --i) {
-				if (!(commandList.get(i) instanceof AbstractCommand.NonDirtying)) {
-					return true;
-				}
-			}
-		}
-		else {
-			for (int i = saveIndex; i > top; --i) {
-				if (!(commandList.get(i) instanceof AbstractCommand.NonDirtying)) {
-					return true;
-				}
-			}
-		}
-
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/Command.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/Command.java
deleted file mode 100644
index 00af9b0..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/Command.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/**
- * <copyright> 
- *
- * Copyright (c) 2002-2004 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- *   IBM - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: Command.java,v 1.1 2005/04/15 23:31:25 david_williams Exp $
- */
-package org.eclipse.emf.common.command;
-
-
-import java.util.Collection;
-
-
-/**
- * An interface that every command is expected to support.
- * A command can be tested for executability, 
- * it can be executed, 
- * it can be tested for undoability, 
- * it can be undone, 
- * and can then be redone.
- * A comand also provides access to a result collection, an affected-objects collection,
- * a label, and a description.
- *
- * <p>
- * There are important constraints on the valid order in which the various methods may be invoked,
- * e.g., you cannot ask for the result before you've executed the command.
- * These constraints are documented with the various methods.
- */
-public interface Command 
-{
-  /**
-   * Returns whether the comamad is valid to <code>execute</code>.
-   * The {@link UnexecutableCommand#INSTANCE}.<code>canExecute()</code> always returns <code>false</code>.
-   * This <b>must</b> be called before calling <code>execute</code>.
-   * @return whether the comamad is valid to <code>execute</code>.
-   */
-  boolean canExecute();
-
-  /**
-   * Performs the command activity required for the effect.
-   * The effect of calling <code>execute</code> when <code>canExecute</code> returns <code>false</code>, 
-   * or when <code>canExecute</code> hasn't been called, is undefined.
-   */
-  void execute();
-
-  /**
-   * Returns whether the command can be undone.
-   * The result of calling this before <code>execute</code> is well defined,
-   * but the result of calling this before calling <code>canExecute</code> is undefined, i.e.,
-   * a command that returns <code>false</code> for <code>canExecute</code> may return <code>true</code> for canUndo, 
-   * even though that is a contradiction.
-   * @return whether the command can be undone.
-   */
-  boolean canUndo();
-
-  /**
-   * Performs the command activity required to <code>undo</code> the effects of a preceding <code>execute</code> (or <code>redo</code>).
-   * The effect, if any, of calling <code>undo</code> before <code>execute</code> or <code>redo</code> have been called, 
-   * or when canUndo returns <code>false</code>, is undefined.
-   */
-  void undo();
-
-  /**
-   * Performs the command activity required to <code>redo</code> the effect after undoing the effect.
-   * The effect, if any, of calling <code>redo</code> before <code>undo</code> is called is undefined.
-   * Note that if you implement <code>redo</code> to call <code>execute</code> 
-   * then any derived class will be restricted by that decision also.
-   */
-  void redo();
-
-  /**
-   * Returns a collection of things which this command wishes to present as it's result.
-   * The result of calling this before an <code>execute</code> or <code>redo</code>, or after an <code>undo</code>, is undefined.
-   * @return a collection of things which this command wishes to present as it's result.
-   */
-  Collection getResult();
-
-  /**
-   * Returns the collection of things which this command wishes to present as the objects affected by the command.
-   * Typically should could be used as the selection that should be highlighted to best illustrate the effect of the command.
-   * The result of calling this before an <code>execute</code>, <code>redo</code>, or <code>undo</code> is undefined.
-   * The result may be different after an <code>undo</code> than it is after an <code>execute</code> or <code>redo</code>,
-   * but the result should be the same (equivalent) after either an <code>execute</code> or <code>redo</code>.
-   * @return the collection of things which this command wishes to present as the objects affected by the command.
-   */
-  Collection getAffectedObjects();
-
-  /**
-   * Returns a string suitable to represent the label that identifies this command.
-   * @return a string suitable to represent the label that identifies this command.
-   */
-  String getLabel();
-
-  /**
-   * Returns a string suitable to help describe the effect of this command.
-   * @return a string suitable to help describe the effect of this command.
-   */
-  String getDescription();
-
-  /**
-   * Called to indicate that the command will never be used again.
-   * Calling any other method after this one has undefined results.
-   */
-  void dispose();
-
-  /**
-   * Returns a command that represents the composition of this command with the given command.
-   * The resulting command may just be this, if this command is capabable of composition.
-   * Otherwise, it will be a new command created to compose the two.
-   * <p>
-   * Instead of the following pattern of usage
-   * <pre>
-   *   Command result = x;
-   *   if (condition) result = result.chain(y);
-   * </pre>
-   * you should consider using a {@link org.eclipse.emf.common.command.CompoundCommand} 
-   * and using {@link org.eclipse.emf.common.command.CompoundCommand#unwrap()} to optimize the result:
-   * <pre>
-   *   CompoundCommand subcommands = new CompoundCommand();
-   *   subcommands.append(x);
-   *   if (condition) subcommands.append(y);
-   *   Command result = subcommands.unwrap();
-   * </pre>
-   * This gives you more control over how the compound command composes it's result and affected objects.
-   * @param command the command to chain.
-   * @return a command that represents the composition of this command with the given command.
-   */
-  Command chain(Command command);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/CommandStack.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/CommandStack.java
deleted file mode 100644
index 19567dd..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/CommandStack.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/**
- * <copyright> 
- *
- * Copyright (c) 2002-2004 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- *   IBM - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: CommandStack.java,v 1.1 2005/04/15 23:31:25 david_williams Exp $
- */
-package org.eclipse.emf.common.command;
-
-
-
-/**
- * A simple and obvious interface for an undoable stack of commands with a listener.
- * See {@link Command} for more details about the command methods that this implementation uses
- * and {@link CommandStackListener} for details about the listener.
- */
-public interface CommandStack 
-{
-  /**
-   * Clears any redoable commands not yet redone, adds the command, and then executes the command.
-   * @param command the command to execute.
-   */
-  void execute(Command command); 
-
-  /**
-   * Returns whether the top command on the stack can be undone.
-   * @return whether the top command on the stack can be undone.
-   */
-  boolean canUndo();
-
-  /**
-   * Moves the top of the stack down, undoing what was formerly the top command.
-   */
-  void undo();
-
-  /**
-   * Returns whether there are commands past the top of the stack that can be redone.
-   * @return whether there are commands past the top of the stack that can be redone.
-   */
-  boolean canRedo(); 
-
-  /**
-   * Returns the command that will be undone if {@link #undo} is called.
-   * @return the command that will be undone if {@link #undo} is called.
-   */
-  public Command getUndoCommand();
-  
-  /**
-   * Returns the command that will be redone if {@link #redo} is called.
-   * @return the command that will be redone if {@link #redo} is called.
-   */
-  public Command getRedoCommand();
-  
-  /**
-   * Returns the command most recently executed, undone, or redone.
-   * @return the command most recently executed, undone, or redone.
-   */
-  public Command getMostRecentCommand();
-
-  /**
-   * Moves the top of the stack up, redoing the new top command.
-   */
-  void redo();
-
-  /**
-   * Disposes all the commands in the stack.
-   */
-  void flush();
-
-  /**
-   * Adds a listener to the command stack, which will be notified whenever a command has been processed on the stack.
-   * @param listener the listener to add.
-   */
-  void addCommandStackListener(CommandStackListener listener);
-
-  /**
-   * Removes a listener from the command stack.
-   * @param listener the listener to remove.
-   */
-  void removeCommandStackListener(CommandStackListener listener);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/CommandStackListener.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/CommandStackListener.java
deleted file mode 100644
index 3f81e93..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/CommandStackListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * <copyright> 
- *
- * Copyright (c) 2002-2004 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- *   IBM - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: CommandStackListener.java,v 1.1 2005/04/15 23:31:25 david_williams Exp $
- */
-package org.eclipse.emf.common.command;
-
-
-import java.util.EventObject;
-
-
-/**
- * A listener to a {@link org.eclipse.emf.common.command.CommandStack}.
- */ 
-public interface CommandStackListener
-{
-  /**
-   * Called when the {@link org.eclipse.emf.common.command.CommandStack}'s state has changed.
-   * @param event the event.
-   */
-  void commandStackChanged(EventObject event);
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/CommandWrapper.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/CommandWrapper.java
deleted file mode 100644
index 2b8f137..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/CommandWrapper.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/**
- * <copyright> 
- *
- * Copyright (c) 2002-2004 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- *   IBM - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: CommandWrapper.java,v 1.3 2005/06/06 05:36:11 david_williams Exp $
- */
-package org.eclipse.emf.common.command;
-
-
-import java.util.Collection;
-import java.util.Collections;
-
-
-/**
- * A command that wraps another command. All the {@link Command} methods are
- * delegated to the wrapped command.
- * 
- * <p>
- * There are two typical usage patterns. One typical use for this command is
- * to modify the behaviour of a command that you can't subclass, i.e., a
- * decorator pattern:
- * 
- * <pre>
- * Command decoratedCommand = new CommandWrapper(someOtherCommand) {
- * 	public void execute() {
- * 		doSomethingBeforeExecution();
- * 		super.execute();
- * 		doSomethingAfterExecution();
- * 	}
- * 
- * 	public Collection getResult() {
- * 		return someOtherResult();
- * 	}
- * };
- * </pre>
- * 
- * The other typical use is to act as a proxy for a command who's creation is
- * delayed:
- * 
- * <pre>
- * Command proxyCommand = new CommandWrapper() {
- * 	public Command createCommand() {
- * 		return createACommandSomehow();
- * 	}
- * };
- * </pre>
- */
-public class CommandWrapper extends AbstractCommand {
-	/**
-	 * The command for which this is a proxy or decorator.
-	 */
-	protected Command command;
-
-	/**
-	 * Creates a decorator instance for the given command.
-	 * 
-	 * @param command
-	 *            the command to wrap.
-	 */
-	public CommandWrapper(Command command) {
-		super(command.getLabel(), command.getDescription());
-		this.command = command;
-	}
-
-	/**
-	 * Creates a decorator instance with the given label for the given
-	 * command.
-	 * 
-	 * @param label
-	 *            the label of the wrapper
-	 * @param command
-	 *            the command to wrap.
-	 */
-	protected CommandWrapper(String label, Command command) {
-		super(label, command.getDescription());
-		this.command = command;
-	}
-
-	/**
-	 * Creates a decorator instance with the given label and description for
-	 * the given command.
-	 * 
-	 * @param label
-	 *            the label of the wrapper
-	 * @param description
-	 *            the description of the wrapper
-	 * @param command
-	 *            the command to wrap.
-	 */
-	public CommandWrapper(String label, String description, Command command) {
-		super(label, description);
-		this.command = command;
-	}
-
-	/**
-	 * Creates a commandless proxy instance. The wrapped command will be
-	 * created by a {@link #createCommand} callback. Since a proxy command
-	 * like this is pointless unless you override some method, this
-	 * constructor is protected.
-	 */
-	protected CommandWrapper() {
-		super();
-	}
-
-	/**
-	 * Creates a commandless proxy instance, with the given label. The command
-	 * will be created by a {@link #createCommand} callback. Since a proxy
-	 * command like this is pointless unless you override some method, this
-	 * constructor is protected.
-	 * 
-	 * @param label
-	 *            the label of the wrapper
-	 */
-	protected CommandWrapper(String label) {
-		super(label);
-	}
-
-	/**
-	 * Creates a commandless proxy instance, with the given label and
-	 * description. The command will be created by a {@link #createCommand}
-	 * callback. Since a proxy command like this is pointless unless you
-	 * override some method, this constructor is protected.
-	 * 
-	 * @param label
-	 *            the label of the wrapper
-	 * @param description
-	 *            the description of the wrapper
-	 */
-	protected CommandWrapper(String label, String description) {
-		super(label, description);
-	}
-
-	/**
-	 * Returns the command for which this is a proxy or decorator. This may be
-	 * <code>null</code> before {@link #createCommand} is called.
-	 * 
-	 * @return the command for which this is a proxy or decorator.
-	 */
-	public Command getCommand() {
-		return command;
-	}
-
-	/**
-	 * Create the command being proxied. This implementation just return
-	 * <code>null</code>. It is called by {@link #prepare}.
-	 * 
-	 * @return the command being proxied.
-	 */
-	protected Command createCommand() {
-		return null;
-	}
-
-	/**
-	 * Returns whether the command can execute. This implementation creates
-	 * the command being proxied using {@link #createCommand}, if the command
-	 * wasn't given in the constructor.
-	 * 
-	 * @return whether the command can execute.
-	 */
-	protected boolean prepare() {
-		if (command == null) {
-			command = createCommand();
-		}
-
-		boolean result = command.canExecute();
-		return result;
-	}
-
-	/**
-	 * Delegates to the execute method of the command.
-	 */
-	public void execute() {
-		if (command != null) {
-			command.execute();
-		}
-	}
-
-	/**
-	 * Delegates to the canUndo method of the command.
-	 */
-	public boolean canUndo() {
-		return command == null || command.canUndo();
-	}
-
-	/**
-	 * Delegates to the undo method of the command.
-	 */
-	public void undo() {
-		if (command != null) {
-			command.undo();
-		}
-	}
-
-	/**
-	 * Delegates to the redo method of the command.
-	 */
-	public void redo() {
-		if (command != null) {
-			command.redo();
-		}
-	}
-
-	/**
-	 * Delegates to the getResult method of the command.
-	 * 
-	 * @return the result.
-	 */
-	public Collection getResult() {
-		return command == null ? Collections.EMPTY_LIST : command.getResult();
-	}
-
-	/**
-	 * Delegates to the getAffectedObjects method of the command.
-	 * 
-	 * @return the result.
-	 */
-	public Collection getAffectedObjects() {
-		return command == null ? Collections.EMPTY_LIST : command.getAffectedObjects();
-	}
-
-	/**
-	 * Delegates to the getLabel method of the command.
-	 * 
-	 * @return the label.
-	 */
-	public String getLabel() {
-		return label == null ? command == null ? UnDoCommonMessages._UI_CommandWrapper_label : command.getLabel() : label;
-	}
-
-	/**
-	 * Delegates to the getDescription method of the command.
-	 * 
-	 * @return the description.
-	 */
-	public String getDescription() {
-		return description == null ? command == null ? UnDoCommonMessages._UI_CommandWrapper_description : command.getDescription() : description;
-	}
-
-	/**
-	 * Delegates to the dispose method of the command.
-	 */
-	public void dispose() {
-		if (command != null) {
-			command.dispose();
-		}
-	}
-
-	/*
-	 * Javadoc copied from base class.
-	 */
-	public String toString() {
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (command: " + command + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		return result.toString();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/CompoundCommand.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/CompoundCommand.java
deleted file mode 100644
index c691646..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/CompoundCommand.java
+++ /dev/null
@@ -1,718 +0,0 @@
-/**
- * <copyright> 
- *
- * Copyright (c) 2002-2004 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- *   IBM - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: CompoundCommand.java,v 1.3 2005/06/06 05:36:11 david_williams Exp $
- */
-package org.eclipse.emf.common.command;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
-import org.eclipse.wst.sse.core.internal.Logger;
-
-
-/**
- * A command that comprises a sequence of subcommands. Derived classes can
- * control the way results are accumulated from the individual commands; the
- * default behaviour is to return the result of the last command.
- */
-public class CompoundCommand extends AbstractCommand {
-	/**
-	 * The list of subcommands.
-	 */
-	protected List commandList;
-
-	/**
-	 * When {@link #resultIndex} is set to this, {@link #getResult} and
-	 * {@link #getAffectedObjects} are delegated to the last command, if any,
-	 * in the list.
-	 */
-	public static final int LAST_COMMAND_ALL = Integer.MIN_VALUE;
-
-	/**
-	 * When {@link #resultIndex} is set to this, {@link #getResult} and
-	 * {@link #getAffectedObjects} are set to the result of merging the
-	 * corresponding collection of each command in the list.
-	 */
-	public static final int MERGE_COMMAND_ALL = Integer.MIN_VALUE - 1;
-
-	/**
-	 * The index of the command whose result and affected objects are
-	 * forwarded. Negative values have special meaning, as defined by the
-	 * static constants. A value of -1 indicates that the last command in the
-	 * list should be used. We could have more special behaviours implemented
-	 * for other negative values.
-	 */
-	protected int resultIndex = MERGE_COMMAND_ALL;
-
-	/**
-	 * Creates an empty instance.
-	 */
-	public CompoundCommand() {
-		super();
-		commandList = new ArrayList();
-	}
-
-	/**
-	 * Creates an instance with the given label.
-	 * 
-	 * @param label
-	 *            the label.
-	 */
-	public CompoundCommand(String label) {
-		super(label);
-		commandList = new ArrayList();
-	}
-
-	/**
-	 * Creates an instance with the given label and description.
-	 * 
-	 * @param label
-	 *            the label.
-	 * @param description
-	 *            the description.
-	 */
-	public CompoundCommand(String label, String description) {
-		super(label, description);
-		commandList = new ArrayList();
-	}
-
-	/**
-	 * Creates an instance with the given list.
-	 * 
-	 * @param commandList
-	 *            the list of commands.
-	 */
-	public CompoundCommand(List commandList) {
-		super();
-		this.commandList = commandList;
-	}
-
-	/**
-	 * Creates instance with the given label and list.
-	 * 
-	 * @param label
-	 *            the label.
-	 * @param commandList
-	 *            the list of commands.
-	 */
-	public CompoundCommand(String label, List commandList) {
-		super(label);
-		this.commandList = commandList;
-	}
-
-	/**
-	 * Creates an instance with the given label, description, and list.
-	 * 
-	 * @param label
-	 *            the label.
-	 * @param description
-	 *            the description.
-	 * @param commandList
-	 *            the list of commands.
-	 */
-	public CompoundCommand(String label, String description, List commandList) {
-		super(label, description);
-		this.commandList = commandList;
-	}
-
-	/**
-	 * Creates an empty instance with the given result index.
-	 * 
-	 * @param resultIndex
-	 *            the {@link #resultIndex}.
-	 */
-	public CompoundCommand(int resultIndex) {
-		super();
-		this.resultIndex = resultIndex;
-		commandList = new ArrayList();
-	}
-
-	/**
-	 * Creates an instance with the given result index and label.
-	 * 
-	 * @param resultIndex
-	 *            the {@link #resultIndex}.
-	 * @param label
-	 *            the label.
-	 */
-	public CompoundCommand(int resultIndex, String label) {
-		super(label);
-		this.resultIndex = resultIndex;
-		commandList = new ArrayList();
-	}
-
-	/**
-	 * Creates an instance with the given result index, label, and
-	 * description.
-	 * 
-	 * @param resultIndex
-	 *            the {@link #resultIndex}.
-	 * @param label
-	 *            the label.
-	 * @param description
-	 *            the description.
-	 */
-	public CompoundCommand(int resultIndex, String label, String description) {
-		super(label, description);
-		this.resultIndex = resultIndex;
-		commandList = new ArrayList();
-	}
-
-	/**
-	 * Creates an instance with the given result index and list.
-	 * 
-	 * @param resultIndex
-	 *            the {@link #resultIndex}.
-	 * @param commandList
-	 *            the list of commands.
-	 */
-	public CompoundCommand(int resultIndex, List commandList) {
-		super();
-		this.resultIndex = resultIndex;
-		this.commandList = commandList;
-	}
-
-	/**
-	 * Creates an instance with the given resultIndex, label, and list.
-	 * 
-	 * @param resultIndex
-	 *            the {@link #resultIndex}.
-	 * @param label
-	 *            the label.
-	 * @param commandList
-	 *            the list of commands.
-	 */
-	public CompoundCommand(int resultIndex, String label, List commandList) {
-		super(label);
-		this.resultIndex = resultIndex;
-		this.commandList = commandList;
-	}
-
-	/**
-	 * Creates an instance with the given result index, label, description,
-	 * and list.
-	 * 
-	 * @param resultIndex
-	 *            the {@link #resultIndex}.
-	 * @param label
-	 *            the label.
-	 * @param description
-	 *            the description.
-	 * @param commandList
-	 *            the list of commands.
-	 */
-	public CompoundCommand(int resultIndex, String label, String description, List commandList) {
-		super(label, description);
-		this.resultIndex = resultIndex;
-		this.commandList = commandList;
-	}
-
-	/**
-	 * Returns whether there are commands in the list.
-	 * 
-	 * @return whether there are commands in the list.
-	 */
-	public boolean isEmpty() {
-		return commandList.isEmpty();
-	}
-
-	/**
-	 * Returns an unmodifiable view of the commands in the list.
-	 * 
-	 * @return an unmodifiable view of the commands in the list.
-	 */
-	public List getCommandList() {
-		return Collections.unmodifiableList(commandList);
-	}
-
-	/**
-	 * Returns the index of the command whose result and affected objects are
-	 * forwarded. Negative values have special meaning, as defined by the
-	 * static constants.
-	 * 
-	 * @return the index of the command whose result and affected objects are
-	 *         forwarded.
-	 * @see #LAST_COMMAND_ALL
-	 * @see #MERGE_COMMAND_ALL
-	 */
-	public int getResultIndex() {
-		return resultIndex;
-	}
-
-	/**
-	 * Returns whether all the commands can execute so that
-	 * {@link #isExecutable} can be cached. An empty command list causes
-	 * <code>false</code> to be returned.
-	 * 
-	 * @return whether all the commands can execute.
-	 */
-	protected boolean prepare() {
-		if (commandList.isEmpty()) {
-			return false;
-		}
-		else {
-			for (Iterator commands = commandList.listIterator(); commands.hasNext();) {
-				Command command = (Command) commands.next();
-				if (!command.canExecute()) {
-					return false;
-				}
-			}
-
-			return true;
-		}
-	}
-
-	/**
-	 * Calls {@link Command#execute} for each command in the list.
-	 */
-	public void execute() {
-		for (ListIterator commands = commandList.listIterator(); commands.hasNext();) {
-			try {
-				Command command = (Command) commands.next();
-				command.execute();
-			}
-			catch (RuntimeException exception) {
-				// Skip over the command that threw the exception.
-				//
-				commands.previous();
-
-				try {
-					// Iterate back over the executed commands to undo them.
-					//
-					while (commands.hasPrevious()) {
-						Command command = (Command) commands.previous();
-						if (command.canUndo()) {
-							command.undo();
-						}
-						else {
-							break;
-						}
-					}
-				}
-				catch (RuntimeException nestedException) {
-					Logger.logException(UnDoCommonMessages._UI_IgnoreException_exception, nestedException);
-				}
-
-				throw exception;
-			}
-		}
-	}
-
-	/**
-	 * Returns <code>false</code> if any of the commands return
-	 * <code>false</code> for {@link Command#canUndo}.
-	 * 
-	 * @return <code>false</code> if any of the commands return
-	 *         <code>false</code> for <code>canUndo</code>.
-	 */
-	public boolean canUndo() {
-		for (Iterator commands = commandList.listIterator(); commands.hasNext();) {
-			Command command = (Command) commands.next();
-			if (!command.canUndo()) {
-				return false;
-			}
-		}
-
-		return true;
-	}
-
-	/**
-	 * Calls {@link Command#undo} for each command in the list, in reverse
-	 * order.
-	 */
-	public void undo() {
-		for (ListIterator commands = commandList.listIterator(commandList.size()); commands.hasPrevious();) {
-			try {
-				Command command = (Command) commands.previous();
-				command.undo();
-			}
-			catch (RuntimeException exception) {
-				// Skip over the command that threw the exception.
-				//
-				commands.next();
-
-				try {
-					// Iterate forward over the undone commands to redo them.
-					//
-					while (commands.hasNext()) {
-						Command command = (Command) commands.next();
-						command.redo();
-					}
-				}
-				catch (RuntimeException nestedException) {
-					Logger.logException(UnDoCommonMessages._UI_IgnoreException_exception, exception);
-				}
-
-
-				throw exception;
-			}
-		}
-	}
-
-	/**
-	 * Calls {@link Command#redo} for each command in the list.
-	 */
-	public void redo() {
-		for (ListIterator commands = commandList.listIterator(); commands.hasNext();) {
-			try {
-				Command command = (Command) commands.next();
-				command.redo();
-			}
-			catch (RuntimeException exception) {
-				// Skip over the command that threw the exception.
-				//
-				commands.previous();
-
-				try {
-					// Iterate back over the executed commands to undo them.
-					//
-					while (commands.hasPrevious()) {
-						Command command = (Command) commands.previous();
-						command.undo();
-					}
-				}
-				catch (RuntimeException nestedException) {
-					Logger.logException(UnDoCommonMessages._UI_IgnoreException_exception, nestedException);
-				}
-
-				throw exception;
-			}
-		}
-	}
-
-	/**
-	 * Determines the result by composing the results of the commands in the
-	 * list; this is affected by the setting of {@link #resultIndex}.
-	 * 
-	 * @return the result.
-	 */
-	public Collection getResult() {
-		if (commandList.isEmpty()) {
-			return Collections.EMPTY_LIST;
-		}
-		else if (resultIndex == LAST_COMMAND_ALL) {
-			return ((Command) commandList.get(commandList.size() - 1)).getResult();
-		}
-		else if (resultIndex == MERGE_COMMAND_ALL) {
-			return getMergedResultCollection();
-		}
-		else if (resultIndex < commandList.size()) {
-			return ((Command) commandList.get(resultIndex)).getResult();
-		}
-		else {
-			return Collections.EMPTY_LIST;
-		}
-	}
-
-	/**
-	 * Returns the merged collection of all command results.
-	 * 
-	 * @return the merged collection of all command results.
-	 */
-	protected Collection getMergedResultCollection() {
-		Collection result = new ArrayList();
-
-		for (Iterator commands = commandList.iterator(); commands.hasNext();) {
-			Command command = (Command) commands.next();
-			result.addAll(command.getResult());
-		}
-
-		return result;
-	}
-
-
-	/**
-	 * Determines the affected objects by composing the affected objects of
-	 * the commands in the list; this is affected by the setting of
-	 * {@link #resultIndex}.
-	 * 
-	 * @return the affected objects.
-	 */
-	public Collection getAffectedObjects() {
-		if (commandList.isEmpty()) {
-			return Collections.EMPTY_LIST;
-		}
-		else if (resultIndex == LAST_COMMAND_ALL) {
-			return ((Command) commandList.get(commandList.size() - 1)).getAffectedObjects();
-		}
-		else if (resultIndex == MERGE_COMMAND_ALL) {
-			return getMergedAffectedObjectsCollection();
-		}
-		else if (resultIndex < commandList.size()) {
-			return ((Command) commandList.get(resultIndex)).getAffectedObjects();
-		}
-		else {
-			return Collections.EMPTY_LIST;
-		}
-	}
-
-	/**
-	 * Returns the merged collection of all command affected objects.
-	 * 
-	 * @return the merged collection of all command affected objects.
-	 */
-	protected Collection getMergedAffectedObjectsCollection() {
-		Collection result = new ArrayList();
-
-		for (Iterator commands = commandList.iterator(); commands.hasNext();) {
-			Command command = (Command) commands.next();
-			result.addAll(command.getAffectedObjects());
-		}
-
-		return result;
-	}
-
-	/**
-	 * Determines the label by composing the labels of the commands in the
-	 * list; this is affected by the setting of {@link #resultIndex}.
-	 * 
-	 * @return the label.
-	 */
-	public String getLabel() {
-		if (label != null) {
-			return label;
-		}
-		else if (commandList.isEmpty()) {
-			return UnDoCommonMessages._UI_CompoundCommand_label;
-		}
-		else if (resultIndex == LAST_COMMAND_ALL || resultIndex == MERGE_COMMAND_ALL) {
-			return ((Command) commandList.get(commandList.size() - 1)).getLabel();
-		}
-		else if (resultIndex < commandList.size()) {
-			return ((Command) commandList.get(resultIndex)).getLabel();
-		}
-		else {
-			return UnDoCommonMessages._UI_CompoundCommand_label;
-		}
-	}
-
-	/**
-	 * Determines the description by composing the descriptions of the
-	 * commands in the list; this is affected by the setting of
-	 * {@link #resultIndex}.
-	 * 
-	 * @return the description.
-	 */
-	public String getDescription() {
-		if (description != null) {
-			return description;
-		}
-		else if (commandList.isEmpty()) {
-			return UnDoCommonMessages._UI_CompoundCommand_description;
-		}
-		else if (resultIndex == LAST_COMMAND_ALL || resultIndex == MERGE_COMMAND_ALL) {
-			return ((Command) commandList.get(commandList.size() - 1)).getDescription();
-		}
-		else if (resultIndex < commandList.size()) {
-			return ((Command) commandList.get(resultIndex)).getDescription();
-		}
-		else {
-			return UnDoCommonMessages._UI_CompoundCommand_description;
-		}
-	}
-
-	/**
-	 * Adds a command to this compound command's list of commands.
-	 * 
-	 * @param command
-	 *            the command to append.
-	 */
-	public void append(Command command) {
-		if (command != null) {
-			commandList.add(command);
-		}
-	}
-
-	/**
-	 * Checks if the command can execute; if so, it is executed, appended to
-	 * the list, and true is returned, if not, it is just disposed and false
-	 * is returned. A typical use for this is to execute commands created
-	 * during the execution of another command, e.g.,
-	 * 
-	 * <pre>
-	 * class MyCommand extends CommandBase {
-	 * 	protected Command subcommand;
-	 * 
-	 * 	//...
-	 * 
-	 * public void execute()
-	 *               {
-	 *                 // ...
-	 *                 Compound subcommands = new CompoundCommand();
-	 *                 subcommands.appendAndExecute(new AddCommand(...));
-	 *                 if (condition) subcommands.appendAndExecute(new AddCommand(...));
-	 *                 subcommand = subcommands.unwrap();
-	 *               }	public void undo() {
-	 * 		// ...
-	 * 		subcommand.undo();
-	 * 	}
-	 * 
-	 * 	public void redo() {
-	 * 		// ...
-	 * 		subcommand.redo();
-	 * 	}
-	 * 
-	 * 	public void dispose() {
-	 * 		// ...
-	 * 		if (subcommand != null) {
-	 * 			subcommand.dispose();
-	 * 		}
-	 * 	}
-	 * }
-	 * 
-	 * </pre>
-	 * 
-	 * Another use is in an execute override of compound command itself:
-	 * 
-	 * <pre>
-	 * class MyCommand extends CompoundCommand {
-	 * public void execute()
-	 *               {
-	 *                 // ...
-	 *                 appendAndExecute(new AddCommand(...));
-	 *                 if (condition) appendAndExecute(new AddCommand(...));
-	 *               }}
-	 * 
-	 * </pre>
-	 * 
-	 * Note that appending commands will modify what getResult and
-	 * getAffectedObjects return, so you may want to set the resultIndex flag.
-	 * 
-	 * @param command
-	 *            the command.
-	 * @return whether the command was successfully executed and appended.
-	 */
-	public boolean appendAndExecute(Command command) {
-		if (command != null) {
-			if (!isPrepared) {
-				if (commandList.isEmpty()) {
-					isPrepared = true;
-					isExecutable = true;
-				}
-				else {
-					isExecutable = prepare();
-					isPrepared = true;
-					if (isExecutable) {
-						execute();
-					}
-				}
-			}
-
-			if (command.canExecute()) {
-				try {
-					command.execute();
-					commandList.add(command);
-					return true;
-				}
-				catch (RuntimeException exception) {
-					Logger.logException(UnDoCommonMessages._UI_IgnoreException_exception, exception);
-				}
-			}
-
-			command.dispose();
-		}
-
-		return false;
-	}
-
-	/**
-	 * Adds a command to this compound command's the list of commands and
-	 * returns <code>true</code>, if
-	 * <code>command.{@link org.eclipse.emf.common.command.Command#canExecute() canExecute()}</code>
-	 * returns true; otherwise, it simply calls
-	 * <code>command.{@link org.eclipse.emf.common.command.Command#dispose() dispose()}</code>
-	 * and returns <code>false</code>.
-	 * 
-	 * @param command
-	 *            the command.
-	 * @return whether the command was executed and appended.
-	 */
-	public boolean appendIfCanExecute(Command command) {
-		if (command == null) {
-			return false;
-		}
-		else if (command.canExecute()) {
-			commandList.add(command);
-			return true;
-		}
-		else {
-			command.dispose();
-			return false;
-		}
-	}
-
-	/**
-	 * Calls {@link Command#dispose} for each command in the list.
-	 */
-	public void dispose() {
-		for (Iterator commands = commandList.listIterator(); commands.hasNext();) {
-			Command command = (Command) commands.next();
-			command.dispose();
-		}
-	}
-
-	/**
-	 * Returns one of three things:
-	 * {@link org.eclipse.emf.common.command.UnexecutableCommand#INSTANCE},
-	 * if there are no commands, the one command, if there is exactly one
-	 * command, or <code>this</code>, if there are multiple commands; this
-	 * command is {@link #dispose}d in the first two cases. You should only
-	 * unwrap a compound command if you created it for that purpose, e.g.,
-	 * 
-	 * <pre>
-	 * CompoundCommand subcommands = new CompoundCommand();
-	 * subcommands.append(x);
-	 * if (condition)
-	 * 	subcommands.append(y);
-	 * Command result = subcommands.unwrap();
-	 * </pre>
-	 * 
-	 * is a good way to create an efficient accumulated result.
-	 * 
-	 * @return the unwapped command.
-	 */
-	public Command unwrap() {
-		switch (commandList.size()) {
-			case 0 : {
-				dispose();
-				return UnexecutableCommand.INSTANCE;
-			}
-			case 1 : {
-				Command result = (Command) commandList.remove(0);
-				dispose();
-				return result;
-			}
-			default : {
-				return this;
-			}
-		}
-	}
-
-	/*
-	 * Javadoc copied from base class.
-	 */
-	public String toString() {
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append("" + commandList.size() + ""); //$NON-NLS-1$ //$NON-NLS-2$
-		result.append("" + resultIndex + ""); //$NON-NLS-1$ //$NON-NLS-2$
-
-		return result.toString();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/IdentityCommand.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/IdentityCommand.java
deleted file mode 100644
index ced8250..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/IdentityCommand.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/**
- * <copyright> 
- *
- * Copyright (c) 2002-2004 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- *   IBM - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: IdentityCommand.java,v 1.3 2005/06/06 05:36:11 david_williams Exp $
- */
-package org.eclipse.emf.common.command;
-
-
-import java.util.Collection;
-import java.util.Collections;
-
-
-/**
- * A command that always produces the same result.
- */
-public class IdentityCommand extends AbstractCommand {
-	/**
-	 * An empty instance of this object.
-	 */
-	public static final IdentityCommand INSTANCE = new IdentityCommand();
-
-	/**
-	 * Keeps track of the result returned from {@link #getResult}.
-	 */
-	protected Collection result;
-
-	{
-		// This ensures that these useless state variables at least reflect
-		// the right value.
-		//
-		isPrepared = true;
-		isExecutable = true;
-	}
-
-	/**
-	 * Creates an empty instance.
-	 */
-	public IdentityCommand() {
-		super();
-		this.result = Collections.EMPTY_LIST;
-	}
-
-	/**
-	 * Creates an instance with a result collection containing the given
-	 * result object.
-	 * 
-	 * @param result
-	 *            the one object in the result collection.
-	 */
-	public IdentityCommand(Object result) {
-		super();
-		this.result = Collections.singleton(result);
-	}
-
-	/**
-	 * Creates an instance with the given result collection.
-	 * 
-	 * @param result
-	 *            the result collection.
-	 */
-	public IdentityCommand(Collection result) {
-		super();
-		this.result = result;
-	}
-
-	/**
-	 * Creates an instance with the given label.
-	 * 
-	 * @param label
-	 *            the label.
-	 */
-	public IdentityCommand(String label) {
-		this.label = label;
-		this.result = Collections.EMPTY_LIST;
-	}
-
-	/**
-	 * Creates an instance with the given label and a result collection
-	 * containing the given result object.
-	 * 
-	 * @param label
-	 *            the label.
-	 * @param result
-	 *            the one object in the result collection.
-	 */
-	public IdentityCommand(String label, Object result) {
-		this.label = label;
-		this.result = Collections.singleton(result);
-	}
-
-	/**
-	 * Creates an instance with the given label the result collection.
-	 * 
-	 * @param label
-	 *            the label.
-	 * @param result
-	 *            the result collection.
-	 */
-	public IdentityCommand(String label, Collection result) {
-		this.label = label;
-		this.result = result;
-	}
-
-	/**
-	 * Creates an instance with the given label and description.
-	 * 
-	 * @param label
-	 *            the label.
-	 * @param description
-	 *            the description.
-	 */
-	public IdentityCommand(String label, String description) {
-		this.label = label;
-		this.description = description;
-		this.result = Collections.EMPTY_LIST;
-	}
-
-	/**
-	 * Creates an instance with the given label, description, and a result
-	 * collection containing the given result object.
-	 * 
-	 * @param label
-	 *            the label.
-	 * @param description
-	 *            the description.
-	 * @param result
-	 *            the one object in the result collection.
-	 */
-	public IdentityCommand(String label, String description, Object result) {
-		this.label = label;
-		this.description = description;
-		this.result = Collections.singleton(result);
-	}
-
-	/**
-	 * Creates an instance with the given label, description, result
-	 * collection.
-	 * 
-	 * @param label
-	 *            the label.
-	 * @param description
-	 *            the description.
-	 * @param result
-	 *            the result collection.
-	 */
-	public IdentityCommand(String label, String description, Collection result) {
-		this.label = label;
-		this.description = description;
-		this.result = result;
-	}
-
-	/**
-	 * Returns <code>true</code>.
-	 * 
-	 * @return <code>true</code>.
-	 */
-	public boolean canExecute() {
-		return true;
-	}
-
-	/**
-	 * Do nothing.
-	 */
-	public void execute() {
-	}
-
-	/**
-	 * Do nothing.
-	 */
-	public void undo() {
-	}
-
-	/**
-	 * Do nothing.
-	 */
-	public void redo() {
-	}
-
-	/*
-	 * Javadoc copied from base class.
-	 */
-	public String getLabel() {
-		return label == null ? UnDoCommonMessages._UI_IdentityCommand_label : label;
-	}
-
-	/*
-	 * Javadoc copied from base class.
-	 */
-	public String getDescription() {
-		return description == null ? UnDoCommonMessages._UI_IdentityCommand_description : description;
-	}
-
-	/**
-	 * Return the identity result.
-	 * 
-	 * @return the identity result.
-	 */
-	public Collection getResult() {
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/StrictCompoundCommand.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/StrictCompoundCommand.java
deleted file mode 100644
index 2b401ef..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/StrictCompoundCommand.java
+++ /dev/null
@@ -1,426 +0,0 @@
-/**
- * <copyright> 
- *
- * Copyright (c) 2002-2004 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- *   IBM - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: StrictCompoundCommand.java,v 1.3 2005/06/06 05:36:11 david_williams Exp $
- */
-package org.eclipse.emf.common.command;
-
-
-import java.util.List;
-import java.util.ListIterator;
-
-import org.eclipse.wst.sse.core.internal.Logger;
-
-
-/**
- * A composite command which assumes that later commands in the list may
- * depend on the results and side-effects of earlier commands in the list.
- * Because of this, it must implement {@link Command#canExecute} more
- * carefully, i.e., in order to determine canExecute for the composite, it
- * doesn't simply test each command. It tests the first command to see if it
- * can execute; then, if there is another command in the list, it checks if
- * the first command can undo and then goes ahead and executes it! This
- * process is repeated until the last command that is not followed by another,
- * which then determines the final result. (For efficiency, when this
- * processing gets to the last command, that command is tested for canUndo too
- * and that result is cached.) All the commands that have been executed are
- * then undone, if {@link #isPessimistic} is <code>true</code>; by default
- * it's <code>false</code>.
- * 
- * <p>
- * It is important for all but the last command to have no visible
- * side-effect! Multiple commands with visible side-effects must be composed
- * into a single command using just a {@link CompoundCommand} and that
- * composite could be the last command of a strict composite.
- * 
- * <p>
- * Here is an example of how this can be used in conjunction with a
- * {@link CommandWrapper}.
- * 
- * <pre>
- * 
- *  
- *     Command strictCompoundCommand = new StrictCompoundCommand();
- *     Command copyCommand = new CopyCommand(...);
- *     strictCompoundCommand.add(copyCommand);
- *  
- *     Command addCommand =
- *       new CommandWrapper()
- *       {
- *         public Command createCommand()
- *         {
- *           new AddCommand(parent, copyCommand.getResult()); 
- *         }
- *       };
- *     strictCompoundCommand.append(addCommand);
- *   
- *  
- * </pre>
- * 
- * Here the add command won't know which command to create until it has the
- * result of the copy command. The proxy makes sure the creation of the add
- * command is deferred and the strict composite ensures that execution
- * dependencies are met.
- */
-public class StrictCompoundCommand extends CompoundCommand {
-	/**
-	 * The result for {@link Command#canUndo}.
-	 */
-	protected boolean isUndoable;
-
-	/**
-	 * Whether commands that have been tentatively executed need to be undone.
-	 */
-	protected boolean isPessimistic;
-
-	/**
-	 * Remember to call redo instead of execute for any command at or before
-	 * this index in the list.
-	 */
-	protected int rightMostExecutedCommandIndex = -1;
-
-	/**
-	 * Creates an empty instance.
-	 */
-	public StrictCompoundCommand() {
-		super();
-		resultIndex = LAST_COMMAND_ALL;
-	}
-
-	/**
-	 * Creates an instance with the given label.
-	 * 
-	 * @param label
-	 *            the label.
-	 */
-	public StrictCompoundCommand(String label) {
-		super(label);
-		resultIndex = LAST_COMMAND_ALL;
-	}
-
-	/**
-	 * Creates an instance with the given label and description.
-	 * 
-	 * @param label
-	 *            the label.
-	 * @param description
-	 *            the description.
-	 */
-	public StrictCompoundCommand(String label, String description) {
-		super(label, description);
-		resultIndex = LAST_COMMAND_ALL;
-	}
-
-	/**
-	 * Creates an instance with the given command list.
-	 * 
-	 * @param commandList
-	 *            the list of commands.
-	 */
-	public StrictCompoundCommand(List commandList) {
-		super(commandList);
-		resultIndex = LAST_COMMAND_ALL;
-	}
-
-	/**
-	 * Creates an instance with the given label and command list.
-	 * 
-	 * @param label
-	 *            the label.
-	 * @param commandList
-	 *            the list of commands.
-	 */
-	public StrictCompoundCommand(String label, List commandList) {
-		super(label, commandList);
-		resultIndex = LAST_COMMAND_ALL;
-	}
-
-	/**
-	 * Creates an instance with the given label, description, and command
-	 * list.
-	 * 
-	 * @param label
-	 *            the label.
-	 * @param description
-	 *            the description.
-	 * @param commandList
-	 *            the list of commands.
-	 */
-	public StrictCompoundCommand(String label, String description, List commandList) {
-		super(label, description, commandList);
-		resultIndex = LAST_COMMAND_ALL;
-	}
-
-	/**
-	 * Returns <code>false</code> if any command on the list returns
-	 * <code>false</code> for {@link Command#canExecute}, or if some
-	 * command before the last one can't be undone and hence we can't test all
-	 * the commands for executability.
-	 * 
-	 * @return whether the command can execute.
-	 */
-	protected boolean prepare() {
-		// Go through the commands of the list.
-		//
-		ListIterator commands = commandList.listIterator();
-
-		// If there are some...
-		//
-		if (commands.hasNext()) {
-			boolean result = true;
-
-			// The termination guard is in the body.
-			//
-			for (;;) {
-				Command command = (Command) commands.next();
-				if (command.canExecute()) {
-					if (commands.hasNext()) {
-						if (command.canUndo()) {
-							try {
-								if (commands.previousIndex() <= rightMostExecutedCommandIndex) {
-									command.redo();
-								}
-								else {
-									++rightMostExecutedCommandIndex;
-									command.execute();
-								}
-							}
-							catch (RuntimeException exception) {
-								Logger.logException(UnDoCommonMessages._UI_IgnoreException_exception, exception);
-
-								result = false;
-								break;
-							}
-						}
-						else {
-							// We can't undo it, so we'd better give up.
-							//
-							result = false;
-							break;
-						}
-					}
-					else {
-						// Now is the best time to record isUndoable because
-						// later we would have to do all the executes again!
-						// This makes canUndo very simple!
-						//
-						isUndoable = command.canUndo();
-						break;
-					}
-				}
-				else {
-					// If we can't execute this one, we just can't do it at
-					// all.
-					//
-					result = false;
-					break;
-				}
-			}
-
-			// If we are pessimistic, then we need to undo all the commands
-			// that we have executed so far.
-			//
-			if (isPessimistic) {
-				// The most recently processed command will never have been
-				// executed.
-				//
-				commands.previous();
-
-				// We want to unroll all the effects of the previous commands.
-				//
-				while (commands.hasPrevious()) {
-					Command command = (Command) commands.previous();
-					command.undo();
-				}
-			}
-
-			return result;
-		}
-		else {
-			isUndoable = false;
-			return false;
-		}
-	}
-
-	/**
-	 * Calls {@link Command#execute} for each command in the list, but makes
-	 * sure to call redo for any commands that were previously executed to
-	 * compute canExecute. In the case that {@link #isPessimistic} is false,
-	 * only the last command will be executed since the others will have been
-	 * executed but not undone during {@link #prepare}.
-	 */
-	public void execute() {
-		if (isPessimistic) {
-			for (ListIterator commands = commandList.listIterator(); commands.hasNext();) {
-				try {
-					// Either execute or redo the command, as appropriate.
-					//
-					Command command = (Command) commands.next();
-					if (commands.previousIndex() <= rightMostExecutedCommandIndex) {
-						command.redo();
-					}
-					else {
-						command.execute();
-					}
-				}
-				catch (RuntimeException exception) {
-					// Skip over the command that threw the exception.
-					//
-					commands.previous();
-
-					// Iterate back over the executed commands to undo them.
-					//
-					while (commands.hasPrevious()) {
-						commands.previous();
-						Command command = (Command) commands.previous();
-						if (command.canUndo()) {
-							command.undo();
-						}
-						else {
-							break;
-						}
-					}
-
-					throw exception;
-				}
-			}
-		}
-		else if (!commandList.isEmpty()) {
-			Command command = (Command) commandList.get(commandList.size() - 1);
-			command.execute();
-		}
-	}
-
-	/**
-	 * Calls {@link Command#undo} for each command in the list. In the case
-	 * that {@link #isPessimistic} is false, only the last command will be
-	 * undone since the others will have been executed and not undo during
-	 * {@link #prepare}.
-	 */
-	public void undo() {
-		if (isPessimistic) {
-			super.undo();
-		}
-		else if (!commandList.isEmpty()) {
-			Command command = (Command) commandList.get(commandList.size() - 1);
-			command.undo();
-		}
-	}
-
-	/**
-	 * Calls {@link Command#redo} for each command in the list. In the case
-	 * that {@link #isPessimistic} is false, only the last command will be
-	 * redone since the others will have been executed and not undo during
-	 * {@link #prepare}.
-	 */
-	public void redo() {
-		if (isPessimistic) {
-			super.redo();
-		}
-		else if (!commandList.isEmpty()) {
-			Command command = (Command) commandList.get(commandList.size() - 1);
-			command.redo();
-		}
-	}
-
-	/**
-	 * Checks if the command can execute; if so, it is executed, appended to
-	 * the list, and <code>true</code> is returned, if not, it is just
-	 * disposed and <code>false</code> is returned. A typical use for this
-	 * is to execute commands created during the execution of another command,
-	 * e.g.,
-	 * 
-	 * <pre>
-	 * class MyCommand extends AbstractCommand {
-	 * 	protected Command subcommand;
-	 * 
-	 * 	//...
-	 * 
-	 * public void execute()
-	 *       {
-	 *         // ...
-	 *         StrictCompoundCommand subcommands = new StrictCompoundCommand();
-	 *         subcommands.appendAndExecute(new AddCommand(...));
-	 *         if (condition) subcommands.appendAndExecute(new AddCommand(...));
-	 *         subcommand = subcommands.unwrap();
-	 *       }	public void undo() {
-	 * 		// ...
-	 * 		subcommand.undo();
-	 * 	}
-	 * 
-	 * 	public void redo() {
-	 * 		// ...
-	 * 		subcommand.redo();
-	 * 	}
-	 * 
-	 * 	public void dispose() {
-	 * 		// ...
-	 * 		if (subcommand != null) {
-	 * 			subcommand.dispose();
-	 * 		}
-	 * 	}
-	 * }
-	 * 
-	 * </pre>
-	 * 
-	 * @return whether the command was successfully executed and appended.
-	 */
-	public boolean appendAndExecute(Command command) {
-		if (command != null) {
-			if (!isPrepared) {
-				if (commandList.isEmpty()) {
-					isPrepared = true;
-					isExecutable = true;
-				}
-				else {
-					isExecutable = prepare();
-					isPrepared = true;
-					isPessimistic = true;
-					if (isExecutable) {
-						execute();
-					}
-				}
-			}
-
-			if (command.canExecute()) {
-				try {
-					command.execute();
-					commandList.add(command);
-					++rightMostExecutedCommandIndex;
-					isUndoable = command.canUndo();
-					return true;
-				}
-				catch (RuntimeException exception) {
-					Logger.logException(UnDoCommonMessages._UI_IgnoreException_exception, exception);
-				}
-			}
-
-			command.dispose();
-		}
-
-		return false;
-	}
-
-	/*
-	 * Javadoc copied from base class.
-	 */
-	public String toString() {
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (isUndoable: " + isUndoable + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-		result.append(" (isPessimistic: " + isPessimistic + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-		result.append(" (rightMostExecutedCommandIndex: " + rightMostExecutedCommandIndex + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		return result.toString();
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/UnDoCommonMessages.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/UnDoCommonMessages.java
deleted file mode 100644
index a5e5a9b..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/UnDoCommonMessages.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.emf.common.command;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * 
- */
-class UnDoCommonMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.emf.common.command.UnDoCommonResources"; //$NON-NLS-1$
-
-	private UnDoCommonMessages() {
-	}
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, UnDoCommonMessages.class);
-	}
-	public static String _UI_UnexecutableCommand_label;
-	public static String _UI_UnexecutableCommand_description;
-	public static String _UI_IdentityCommand_label;
-	public static String _UI_IdentityCommand_description;
-	public static String _UI_IgnoreException_exception;
-	public static String _UI_CompoundCommand_label;
-	public static String _UI_CompoundCommand_description;
-	public static String _UI_CommandWrapper_label;
-	public static String _UI_CommandWrapper_description;
-	public static String _EXC_Method_not_implemented;
-	public static String _UI_AbstractCommand_label;
-	public static String _UI_AbstractCommand_description;
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/UndoCommonResources.properties b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/UndoCommonResources.properties
deleted file mode 100644
index 5e5af74..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/UndoCommonResources.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-## These strings were copied from org.eclipse.emf.common/plugin.properties
-#
-_UI_UnexecutableCommand_label=Do Nothing
-_UI_UnexecutableCommand_description=Execute nothing whatsoever
-_UI_IdentityCommand_label=Identity
-_UI_IdentityCommand_description=Execute nothing but yield a result
-_UI_IgnoreException_exception=An exception was ignored during command execution
-_UI_CompoundCommand_label=Do Commands
-_UI_CompoundCommand_description=Execute a series of commands
-_UI_CommandWrapper_label=Wrapper
-_UI_CommandWrapper_description=Execute an empty command wrapper
-_EXC_Method_not_implemented=The method {0} is not implemented
-_UI_AbstractCommand_label=Do Command
-_UI_AbstractCommand_description=Execute a command
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/UnexecutableCommand.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/UnexecutableCommand.java
deleted file mode 100644
index cd87ee9..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/UnexecutableCommand.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * <copyright> 
- *
- * Copyright (c) 2002-2004 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- *   IBM - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: UnexecutableCommand.java,v 1.3 2005/06/06 05:36:11 david_williams Exp $
- */
-package org.eclipse.emf.common.command;
-
-
-
-/**
- * A singleton {@link UnexecutableCommand#INSTANCE} that cannot execute.
- */
-public class UnexecutableCommand extends AbstractCommand {
-	/**
-	 * The one instance of this object.
-	 */
-	public static final UnexecutableCommand INSTANCE = new UnexecutableCommand();
-
-	/**
-	 * Only one private instance is created.
-	 */
-	private UnexecutableCommand() {
-		super(UnDoCommonMessages._UI_UnexecutableCommand_label, UnDoCommonMessages._UI_UnexecutableCommand_description);
-	}
-
-	/**
-	 * Returns <code>false</code>.
-	 * 
-	 * @return <code>false</code>.
-	 */
-	public boolean canExecute() {
-		return false;
-	}
-
-	/**
-	 * Throws an exception if it should ever be called.
-	 * 
-	 * @exception UnsupportedOperationException
-	 *                always.
-	 */
-	public void execute() {
-		throw new RuntimeException("UnsupportedOperation"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns <code>false</code>.
-	 * 
-	 * @return <code>false</code>.
-	 */
-	public boolean canUndo() {
-		return false;
-	}
-
-	/**
-	 * Throws an exception if it should ever be called.
-	 * 
-	 * @exception UnsupportedOperationException
-	 *                always.
-	 */
-	public void redo() {
-		throw new RuntimeException("UnsupportedOperation"); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/package.html b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/package.html
deleted file mode 100644
index c6a2dfd..0000000
--- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/emf/common/command/package.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<meta http-equiv="Content-Type"
-content="text/html; charset=ISO-8859-1" /><!--
-/**
- * <copyright>
- *
- * Copyright (c) 2002-2004 IBM Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- *   IBM - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: package.html,v 1.2 2005/05/19 18:19:42 nitind Exp $
- */
--->
-<title></title>
-</head>
-<body>
-Provides a framework for implementing and composing commands.
-
-This was copied from the EMF common package as a temporary step
-as we transition to the new undo support in the base Eclipse.
-
-This package should be regarded as INTERNAL and UNSUPPORTED.
-
-</body>
-</html>
-
diff --git a/bundles/org.eclipse.wst.sse.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.sse.ui/META-INF/MANIFEST.MF
index 484854f..88170be 100644
--- a/bundles/org.eclipse.wst.sse.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.sse.ui/META-INF/MANIFEST.MF
@@ -58,5 +58,6 @@
  org.eclipse.core.filebuffers,
  org.eclipse.core.resources,
  org.eclipse.core.runtime,
- org.eclipse.wst.validation
+ org.eclipse.wst.validation, 
+ org.eclipse.emf.common
 Eclipse-AutoStart: true