public void transferResultToNextGen(NeighbourhoodMatrix nextgen,
			PVector source, TemplateMatrix templateCopy) {
		// transfer non-zero cells from rectified to correct target octant
		Octant sourceOctant = new Octant(source.heading());
		for(int col=0; col<3; col++)
			for (int row=0; row<3; row++) {
				PVector vTargetIncrement = templateCopy.getCell(col, row).getWind();
				if (vTargetIncrement.mag() > 0){
					CellBase targetCell = getRotatedCellAtOctant(nextgen, sourceOctant, col, row);
					if (targetCell instanceof WindCell){
						updateWindCellTarget(vTargetIncrement, targetCell);						
					}
					else if (targetCell instanceof ObstacleCell){
						handleObstacleCellTarget(vTargetIncrement, targetCell, nextgen);						
					}
				}
			}
	}