private List<Position> getPositions(Position start, Direction dir, int length) {
		final List<Position> positions = new ArrayList<Position>();
		positions.add(start);

		for (int i = 1; i <= length; i++) {
			Position newPos = positions.get(positions.size() - 1);
			positions.add(dir.newPosition(newPos));
		}

		return positions;
	}