@Override
	public String processCommand(String[] arguments)
			throws SystemCommandException {

		String guid = facade.getCurrentUserGUID();
		if (guid == null)
			throw new SystemCommandException("No current user set.");

		Date start = DateUtil.parseArgumentDate(arguments[1], arguments[2]);
		Date stop = DateUtil.parseArgumentDate(arguments[3], arguments[4]);

		String electorateID = arguments[0];
		
		Date openNominations;
		if (arguments.length == 7)
			openNominations = DateUtil.parseArgumentDate(arguments[5],
					arguments[6]);
		else
			openNominations = null;		
		try {
			facade.editElection(openNominations, start, stop, electorateID);
		} catch (RuntimeException e) {
			throw new SystemCommandException(e.getMessage());
		}
		return "Edited election details.";
	}