class ClientDelegator extends BaseDelegator implements IClientDelegator {

	public String switchClientView(final String templateClientName,
								   final String targetClientName,
								   final SwitchClientViewOptions opts) throws P4JavaException {

		Validate.notBlank(templateClientName, "Template client name shouldn't blank");

		List<String> args = new ArrayList<>(Arrays.asList("-s", "-t", templateClientName));
		if (isNotBlank(targetClientName)) {
			args.add(targetClientName);
		}

		List<Map<String, Object>> resultMaps = execMapCmdList(
				CLIENT,
				processParameters(
						opts,
						null,
						args.toArray(new String[args.size()]),
						server),
				null);

		return parseCommandResultMapIfIsInfoMessageAsString(resultMaps);
	}

	public  ClientDelegator(IOptionsServer server);

}