@Override public void deleteRows(int start,int len) throws FitsException {
  try {
    if (this.nRows == 0 || start < 0 || start >= this.nRows || len <= 0) {
      return;
    }
    if (start + len > this.nRows) {
      len=this.nRows - start;
    }
    ensureData();
    for (int i=0; i < this.nFields; i+=1) {
      Object o=ArrayFuncs.newInstance(this.types[i],this.nRows - len);
      System.arraycopy(this.data[i],0,o,0,start);
      System.arraycopy(this.data[i],start + len,o,start,this.nRows - len - start);
      this.data[i]=o;
    }
    this.nRows-=len;
  }
 catch (  FitsException e) {
    throw e;
  }
catch (  Exception e) {
    throw new FitsException("Error deleting row:" + e.getMessage(),e);
  }
}

@ Override public void deleteRows ( int start , int len ) throws FitsException { try { if ( this . nRows == 0 || start < 0 || start >= this . nRows || len <= 0 ) { return ; } if ( start + len > this . nRows ) { len = this . nRows - start ; } ensureData ( ) ; for ( int i = 0 ; i < this . nFields ; i += 1 ) { Object o = ArrayFuncs . newInstance ( this . types [ i ] , this . nRows - len ) ; System . arraycopy ( this . data [ i ] , 0 , o , 0 , start ) ; System . arraycopy ( this . data [ i ] , start + len , o , start , this . nRows - len - start ) ; this . data [ i ] = o ; } this . nRows -= len ; } catch ( FitsException e ) { throw e ; } catch ( Exception e ) { throw new FitsException ( "Error deleting row:" + e . getMessage ( ) , e ) ; } }
delete rows from a fits table
