void AbstractTargetAreaModifier<DIM>::UpdateTargetAreas(AbstractCellPopulation<DIM,DIM>& rCellPopulation)
{
    // Assume that SetupSolve() has already been called, so we must be using a VertexBasedCellPopulation

    // Loop over the list of cells, rather than using the population iterator, so as to include dead cells
    for (std::list<CellPtr>::iterator cell_iter = rCellPopulation.rGetCells().begin();
         cell_iter != rCellPopulation.rGetCells().end();
         ++cell_iter)
    {
        UpdateTargetAreaOfCell(*cell_iter);
    }
}