/**
  * A fast method to retrieve one row of data from the matrix as a BitArray.
  *
  * @param $y;  The row to retrieve
  * @param $row;  An optional caller-allocated BitArray, will be allocated if null or too small
  * @return The resulting BitArray - this reference should always be used even when passing
  *         your own row
  */
 public function getRow($y, $row)
 {
     if ($row == null || $row->getSize() < $this->width) {
         $row = new BitArray($this->width);
     } else {
         $row->clear();
     }
     $offset = $y * $this->rowSize;
     for ($x = 0; $x < $this->rowSize; $x++) {
         $row->setBulk($x * 32, $this->bits[$offset + $x]);
     }
     return $row;
 }