@Override
	protected CommandExecutionResult executeArg(StateDiagram system, RegexResult arg) {
		final Code code = Code.of(arg.getLazzy("CODE", 0));
		String display = arg.getLazzy("DISPLAY", 0);
		if (display == null) {
			display = code.getFullName();
		}
		final String stereotype = arg.get("STEREOTYPE", 0);
		final LeafType type = getTypeFromStereotype(stereotype);
		final IEntity ent = system.getOrCreateLeaf(code, type, null);
		if (system.checkConcurrentStateOk(code) == false) {
			return CommandExecutionResult.error("The state " + code
					+ " has been created in a concurrent state : it cannot be used here.");
		}
		ent.setDisplay(Display.getWithNewlines(display));

		if (stereotype != null) {
			ent.setStereotype(new Stereotype(stereotype));
		}
		final String urlString = arg.get("URL", 0);
		if (urlString != null) {
			final UrlBuilder urlBuilder = new UrlBuilder(system.getSkinParam().getValue("topurl"), ModeUrl.STRICT);
			final Url url = urlBuilder.getUrl(urlString);
			ent.addUrl(url);
		}
		ent.setSpecificBackcolor(HtmlColorUtils.getColorIfValid(arg.get("COLOR", 0)));
		ent.setSpecificLineColor(HtmlColorUtils.getColorIfValid(arg.get("LINECOLOR", 1)));
		CommandCreateClassMultilines.applyStroke(ent, arg.get("LINECOLOR", 0));

		final String addFields = arg.get("ADDFIELD", 0);
		if (addFields != null) {
			ent.addFieldOrMethod(addFields);
		}
		return CommandExecutionResult.ok();
	}