@Override
	public void setParameters(String mode) {
		String[] data = mode.split(":");
		if (data.length != 2) {
			throw new IllegalArgumentException();
		}
		switch (data[0]) {
			case "a":
				this.setConstructionMode(Mode.ALPHA_LIMITED);
				this.setAlpha(Double.parseDouble(data[1]));
				break;
			case "d":
				this.setConstructionMode(Mode.DEPTH_LIMITED);
				this.setMaxDepth(Integer.parseInt(data[1]));
				break;
			case "l":
				this.setConstructionMode(Mode.NUM_LEAVES_LIMITED);
				this.setMaxNumLeaves(Integer.parseInt(data[1]));
				break;
			case "s":
				this.setConstructionMode(Mode.MIN_LEAF_SIZE_LIMITED);
				this.setMinLeafSize(Integer.parseInt(data[1]));
				break;
			default:
				throw new IllegalArgumentException();
		}
	}