Bug 125420 [Commands] parameters: allow commands to specify return type
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Command.java
*/
	public final Object executeWithChecks(final ExecutionEvent event)
			throws ExecutionException, NotDefinedException,
			NotEnabledException, NotHandledException {
		firePreExecute(event);
		final IHandler handler = this.handler;
		if (!isDefined()) {
			final NotDefinedException exception = new NotDefinedException(
					"Trying to execute a command that is not defined"); 
			fireNotDefined(exception);
			throw exception;
		}
		
		if ((handler != null) && (handler.isHandled())) {
			if (!isEnabled()) {
				final NotEnabledException exception = new NotEnabledException(
						"Trying to execute a disabled command"); 
				fireNotEnabled(exception);
				throw exception;
			}
			try {
				final Object returnValue = handler.execute(event);
				firePostExecuteSuccess(returnValue);
				return returnValue;
			} catch (final ExecutionException e) {
				firePostExecuteFailure(e);
				throw e;
			}
		}
		final NotHandledException e = new NotHandledException(