code: public BitArray getRow(int y, BitArray row) {
      if (row == null || row.getSize() < width) {
        row = new BitArray(width);
      } else {
        row.clear();
      }
      int offset = y * rowSize;
      for (int x = 0; x < rowSize; x++) {
        row.setBulk(x * 32, bits[offset + x]);
      }
      return row;
    }
docs: 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