public List<Cubie> getCubes(int index, Axis axis) {
		if (VERBAL)
			System.out.println("Retrieving cubes of axis " + axis.name() + " on face " + index);
		
		if (index < 1 || index > getSize()) {
			System.out.println("### ERROR : Cannot rotate RubiksCube face n°" + index + " on " + axis.name() + " axis => allowed indexes are in [1-" + getSize() + "] range");
			return Collections.emptyList();
		}
		
		List<Cubie> cubes = new ArrayList<Cubie>();
		for (Cubie cube : config) {
			ThreeDimCoordinate coord = cube.getCoordinates();
			
			int i;
			switch (axis) {
				case X:
					i = coord.getX();
					break;
				case Y:
					i = coord.getY();
					break;
				case Z:
					i = coord.getZ();
					break;	
				default:
					continue;
			}
			
			if (i == index) {
				cubes.add(cube);
			}
		}
		return cubes;
	}