static DefaultSwitchBuilder create(Mandatory mandatory, int number, String switch1, String... switches) {
		if (mandatory == null) {
			throw new NullPointerException("mandatory");
		}
		List<String> list;
		checkSwitch(switch1);
		if (switches != null && switches.length > 0) {
			list = new ArrayList<String>();
			list.add(switch1);
			for (String sw : switches) {
				checkSwitch(sw);
				list.add(sw);
			}
		}
		else {
			list = Collections.singletonList(switch1);
		}
		String longestName = "";
		for (String sw : list) {
			if (sw.length() > longestName.length()) {
				longestName = sw;
			}
		}
		String shortestName = longestName;
		for (String sw : list) {
			if (sw.length() < shortestName.length()) {
				shortestName = sw;
			}
		}
			
		return new DefaultSwitchBuilder(mandatory, Mandatory.NO, new NodeSet(), Collections.unmodifiableList(list), longestName, shortestName, number, null);
	}