code: public void addItemCheck(int row , int col , double value ) {
          if( row < 0 || col < 0 || row >= numRows || col >= numCols )
              throw new IllegalArgumentException("Out of bounds. ("+row+","+col+") "+numRows+" "+numCols);
          if( nz_length == nz_value.data.length ) {
              int amount = nz_length + 10;
              nz_value.growInternal(amount);
              nz_rowcol.growInternal(amount*2);
          }
          nz_value.data[nz_length] = value;
          nz_rowcol.data[nz_length*2] = row;
          nz_rowcol.data[nz_length*2+1] = col;
          nz_length += 1;
      }
docs: Adds a triplet of (row,vol,value) to the end of the list and performs a bounds check to make
  sure it is a legal value.
  
  @See #addItem(int, int, double)
  
  @param row Row the element belongs in
  @param col Column the element belongs in
  @param value The value of the element