def METHOD_NAME(self, cells, cellLocations):
    '''convert a flat array defining cells into a list of numpy arrays which each define a cell
    this function is the inverse of vmtk.numpytomesh._ConvertListToFlatCellsArray(cellPointIdsList)
    arguments: 
        - cells: 1D array of format [npointsCell1, cell1PointId_1, .., cell1PointId_npointsCell1, 
                                    npointsCell2, cell2PointId_1, .., cell2PointId_npointsCell2, 
                                    ... 
                                    npointsCell(nCells), cell(nCells)PointId_1, .. cell(nCells)PointId_npointsCell(nCells)]
        - cellLocations: flat array of size = nCells. each element in the array defines starts a new cell 
                        (a location of npointCellFoo) in the cells array
    returns:
        - cellPointIdsList: list of numpy arrays (in same order defined in cells), where each array contains 
                            the cellPointIds for that specific cell. Note: array lengths are not constant, 
                            each cell can have a different number of constituent points.
    '''
    splitArrays = np.split(cells, cellLocations[1:]) # start first split after end of Cell1, at nPointsCell2
    cellPointIdsList = []
    for subArray in splitArrays:
        cellPointIdsList.append(subArray[1:]) # get rid of npointsCell(foo), only keep cellPointIds
    return cellPointIdsList