public @Override void execute() throws CommandException {
		final Namespace<? extends Kind> namespace = getModule().getKindNamespace();
		assert (namespace != null): "Module provided null namespace";
		final TokenFeed feed = getFeed();
		try {
			feed.beginExp();
			feed.confirmBeginExp();
			final Kind oldKind = namespace.getObjectByString(feed.getAtom());
			if (oldKind == null) {
				feed.reject("Kind not found");
				throw new CommandException("Kind not found");
			}
			feed.confirmKind();
			final String newKindName = feed.getAtom();
			final Kind newKind = namespace.getObjectByString(newKindName);
			if (newKind == null) {
				namespace.createAlias(oldKind, newKindName);
			} else {
				namespace.identify(oldKind, newKind);
			}
			feed.confirmKind();
			feed.endExp();
			feed.confirmEndCmd();
		} catch (ScannerException e) {
			throw new CommandException("Feed error", e);
		} catch (DataException e) {
			try {
				feed.reject("Error creating alias/identifying; this should not happen");
			} catch (ScannerException ignored) {
				// ignored
			}
			throw new AssertionError("Error creating alias/identifying; this should not happen");
		}
	}