docs: def getCell(self, row, column):
          """ Returns the specified cell (if a raster is set for the region) """
          row = int(row)
          column = int(column)
          if self._raster[0] == 0 or self._raster[1] == 0:
              return self
          rowHeight = self.h / self._raster[0]
          columnWidth = self.h / self._raster[1]
          if column < 0:
              # If column is negative, count backwards from the end
              column = self._raster[1] - column
              if column < 0:
                  # Bad column index, return last column
                  column = self._raster[1]
          elif column > self._raster[1]:
              # Bad column index, return first column
              column = 0
          if row < 0:
              # If row is negative, count backwards from the end
              row = self._raster[0] - row
              if row < 0:
                  # Bad row index, return last row
                  row = self._raster[0]
          elif row > self._raster[0]:
              # Bad row index, return first row
              row = 0
          return Region(self.x+(column*columnWidth), self.y+(row*rowHeight), columnWidth, rowHeight)