class IntegerMapGenotype extends IntegerGenotype implements MapGenotype<K, Integer> {

	@Override
	public void setValue(K key, Integer value) {
		if (!containsKey(key)) {
			throw new IllegalArgumentException(MapGenotype.ERROR_MESSAGE_INVALID_KEY);
		}
		int i = list.indexOf(key);
		while (size() <= i) {
			add(bounds.getLowerBound(size()));
		}
		if (bounds.getLowerBound(i) > value || bounds.getUpperBound(i) < value) {
			throw new IllegalArgumentException(MapGenotype.ERROR_MESSAGE_OUT_OF_BOUNDS);
		}
		set(i, value);
	}

	public  IntegerMapGenotype(List<K> list, Bounds<Integer> bounds);
	public  IntegerMapGenotype(List<K> list, int lowerBound, int upperBound);

}