code: 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;
        }
      }
    }
docs: Trace through the segment entries.