class ServerViewController extends ViewController {

	public byte[] executeUpdates(int cid) {

		List<Integer> jSet = new LinkedList<>();
		List<Integer> rSet = new LinkedList<>();
		int f = -1;

		List<String> jSetInfo = new LinkedList<>();

		for (int i = 0; i < updates.size(); i++) {
			ReconfigureRequest request = (ReconfigureRequest) TOMUtil.getObject(updates.get(i).getContent());
			Iterator<Integer> it = request.getProperties().keySet().iterator();

			while (it.hasNext()) {
				int key = it.next();
				String value = request.getProperties().get(key);

				if (key == ADD_SERVER) {
					StringTokenizer str = new StringTokenizer(value, ":");
					if (str.countTokens() > 2) {
						int id = Integer.parseInt(str.nextToken());
						if (!isCurrentViewMember(id) && !contains(id, jSet)) {
							jSetInfo.add(value);
							jSet.add(id);
							String host = str.nextToken();
							int port = Integer.valueOf(str.nextToken());
							this.getStaticConf().addHostInfo(id, host, port);
						}
					}
				} else if (key == REMOVE_SERVER) {
					if (isCurrentViewMember(Integer.parseInt(value))) {
						rSet.add(Integer.parseInt(value));
					}
				} else if (key == CHANGE_F) {
					f = Integer.parseInt(value);
				}
			}

		}
		// ret = reconfigure(updates.get(i).getContent());
		return reconfigure(jSetInfo, jSet, rSet, f, cid);
	}

	public  ServerViewController(int procId);
	public  ServerViewController(int procId, String configHome);

}