code: private long findAfter(long offset) {
      if (size == 0) {
        return -1;
      }
  
      int low  = 0;
      int high = size-1;
  
      while (low <= high) {
        int mid = low + ((high - low) / 2);
  
        long i = buffer.readLong(mid * ENTRY_SIZE);
        if (i < offset) {
          low = mid + 1;
        } else if (i > offset) {
          high = mid - 1;
        } else {
          return mid;
        }
      }
  
      return (low < high) ? low + 1 : high + 1;
    }
docs: Returns the real offset for the given relative offset.