private void debugSegmentEntries(WriteStream out,ReadStream is,SegmentExtent extent,TableEntry table) throws IOException {
  TempBuffer tBuf=TempBuffer.create();
  byte[] buffer=tBuf.buffer();
  for (long ptr=extent.length() - BLOCK_SIZE; ptr > 0; ptr-=BLOCK_SIZE) {
    is.position(ptr);
    is.readAll(buffer,0,BLOCK_SIZE);
    long seq=BitsUtil.readLong(buffer,0);
    int head=8;
    byte[] tableKey=new byte[32];
    System.arraycopy(buffer,head,tableKey,0,tableKey.length);
    is.readAll(tableKey,0,tableKey.length);
    head+=tableKey.length;
    int offset=BLOCK_SIZE - 8;
    int tail=BitsUtil.readInt16(buffer,offset);
    offset+=2;
    boolean isCont=buffer[offset] == 1;
    if (seq <= 0 || tail <= 0) {
      return;
    }
    while ((head=debugSegmentIndex(out,is,buffer,extent.address(),ptr,head,table)) < tail) {
    }
    if (!isCont) {
      break;
    }
  }
}

private void debugSegmentEntries ( WriteStream out , ReadStream is , SegmentExtent extent , TableEntry table ) throws IOException { TempBuffer tBuf = TempBuffer . create ( ) ; byte [ ] buffer = tBuf . buffer ( ) ; for ( long ptr = extent . length ( ) - BLOCK_SIZE ; ptr > 0 ; ptr -= BLOCK_SIZE ) { is . position ( ptr ) ; is . readAll ( buffer , 0 , BLOCK_SIZE ) ; long seq = BitsUtil . readLong ( buffer , 0 ) ; int head = 8 ; byte [ ] tableKey = new byte [ 32 ] ; System . arraycopy ( buffer , head , tableKey , 0 , tableKey . length ) ; is . readAll ( tableKey , 0 , tableKey . length ) ; head += tableKey . length ; int offset = BLOCK_SIZE - 8 ; int tail = BitsUtil . readInt16 ( buffer , offset ) ; offset += 2 ; boolean isCont = buffer [ offset ] == 1 ; if ( seq <= 0 || tail <= 0 ) { return ; } while ( ( head = debugSegmentIndex ( out , is , buffer , extent . address ( ) , ptr , head , table ) ) < tail ) { } if ( ! isCont ) { break ; } } }
trace through the segment entries .
