public static Coords findFirstCell(CellBase targetCell, Rotation direction, NeighbourhoodMatrix nextgen) {
		// find where this cell is in the neighbours - TOD: consider passing this in as we surely know it?
		
		Coords cellIndexInNeighbours = findMatchingCellInNeighbours(targetCell, nextgen);
		Octant o = new Octant(cellIndexInNeighbours);
		
		o = (direction == Rotation.clockwise) ? o.clockwise() : o.anticlockwise();
		cellIndexInNeighbours = o.getIndex();
		CellBase c = nextgen.getCell(cellIndexInNeighbours.col, cellIndexInNeighbours.row);
		
		// get next cell in the direction until a wind found or reached end
		int cellsInspected = 1;
		while( (c instanceof ObstacleCell) && (cellsInspected <= 4 )) {
			cellsInspected++;
			o = (direction == Rotation.clockwise) ? o.clockwise() : o.anticlockwise();
			cellIndexInNeighbours = o.getIndex();
			c = nextgen.getCell(cellIndexInNeighbours.col, cellIndexInNeighbours.row);
		}
		return (c instanceof WindCell) ? cellIndexInNeighbours : null;
	}