Bug 218467 [Undo] Tighten up IUndoableOperation spec and AbstractOperation to discourage/prevent null labels
GMF creates CompositeCommands with null labels. These NPE when shortenText(getOperation().getLabel()) is invoked from update.
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IUndoableOperation.java
* IUndoableOperation defines an operation that can be executed, undone, and
 * redone. Operations typically have fully defined parameters. That is, they are
 * usually created after the user has been queried for any input needed to
 * define the operation.
 * </p>
 * <p>
 * Operations determine their ability to execute, undo, or redo according to the
 * current state of the application. They do not make decisions about their
 * validity based on where they occur in the operation history. That is left to
 * the particular operation history.
 * </p>
 * 
 * @since 3.1
 */
public interface IUndoableOperation {
	/**
	 * <p>
	 * Add the specified context to the operation. If a context equal to the
	 * specified context is already present, do not add it again. Note that
	 * determining whether a context is already present is based on equality,
	 * not whether the context matches ({@link IUndoContext#matches(IUndoContext)})
	 * another context.
	 * </p>
	 * 
	 * @param context
	 *            the context to be added
	 */
	void addContext(IUndoContext context);
	/**
	 * <p>