Bug 125420 [Commands] parameters: allow commands to specify return type
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Command.java
*/
	public final void define(final String name, final String description,
			final Category category, final IParameter[] parameters) {
		if (name == null) {
			throw new NullPointerException(
					"The name of a command cannot be null"); 
		}
		if (category == null) {
			throw new NullPointerException(
					"The category of a command cannot be null"); 
		}
		final boolean definedChanged = !this.defined;
		this.defined = true;
		final boolean nameChanged = !Util.equals(this.name, name);
		this.name = name;
		final boolean descriptionChanged = !Util.equals(this.description,
				description);
		this.description = description;
		final boolean categoryChanged = !Util.equals(this.category, category);
		this.category = category;
		final boolean parametersChanged = !Util.equals(this.parameters,
				parameters);
		this.parameters = parameters;
		fireCommandChanged(new CommandEvent(this, categoryChanged,
				definedChanged, descriptionChanged, false, nameChanged,
				parametersChanged));
	}
	/**
	 * Executes this command by delegating to the current handler, if any. If
	 * the debugging flag is set, then this method prints information about