}
private ArgumentBuilder buildArgs(StringToStringMap values, Interface modelItem) {
values.put(OUTPUT, Tools.ensureDir(values.get(OUTPUT), ""));
ArgumentBuilder builder = new ArgumentBuilder(values);
builder.addArgs("cmd.exe", "/C", "wsdl.exe", "/nologo", "/verbose");
builder.addString(NAMESPACE, "/namespace", ":");
builder.addString(OUTPUT, "/out", ":");
builder.addString(PROTOCOL, "/protocol", ":");
builder.addString(LANGUAGE, "/language", ":");
builder.addBoolean(SERVER, "/serverInterface");
builder.addBoolean(SHARETYPES, "/sharetypes");
builder.addBoolean(FIELDS, "/fields");
builder.addBoolean(ORDER, "/order");
builder.addBoolean(ENABLEDATABINDING, "/enableDataBinding");
builder.addString(URLKEY, "/appsettingurlkey", ":");
builder.addString(BASEURL, "/appsettingbaseurl", ":");
builder.addString(USERNAME, "/username", ":");
builder.addString(PASSWORD, "/password", ":");
builder.addString(DOMAIN, "/domain", ":");
builder.addString(PROXY, "/proxy", ":");
builder.addString(PROXYUSERNAME, "/proxyusername", ":");
builder.addString(PROXYPASSWORD, "/proxypassword", ":");
builder.addString(PROXYDOMAIN, "/proxydomain", ":");
addToolArgs(values, builder);
builder.addArgs(getWsdlUrl(values, modelItem));
return builder;
}