private List<Position> getEnclosedPositions(Position from, Position to, Direction dir) {
		List<Position> enclosedPositions = new ArrayList<Position>();
		Position newPos = from;
		while (!newPos.equals(to)) {
			enclosedPositions.add(newPos);
			newPos = dir.newPosition(newPos);
			if (!getGrid().validPosition(newPos))
				throw new IllegalArgumentException("The given direction hasn't got a valid straight from to edge");
		}
		enclosedPositions.add(to);
		return enclosedPositions;
	}