def getPointer(p)
      # puts "getPointer >> p=#{p}"
      return nil if p > @nitems || p < 0
      pos = SIZEOF_BLOCK_HEADER + (SIZEOF_KEY * @nitems) + (SIZEOF_POINTER * p)
      ptrdata = @data[pos, SIZEOF_POINTER]
      POINTER.decode(ptrdata)
    end
def getPointer(p)
      # puts "getPointer >> p=#{p}"
      return nil if p > @nitems || p < 0
      pos = SIZEOF_BLOCK_HEADER + (SIZEOF_KEY * @nitems) + (SIZEOF_POINTER * p)
      ptrdata = @data[pos, SIZEOF_POINTER]
      POINTER.decode(ptrdata)
    end
Pointers are 0-based