docs: public V getRecord(long index) throws IOException {
          //First: determine which reader to read from...
          int readerIdx = -1;
          for (int i = 0; i < recordIndexesEachReader.size(); i++) {
              Pair<Long, Long> p = recordIndexesEachReader.get(i);
              if (index >= p.getFirst() && index <= p.getSecond()) {
                  readerIdx = i;
                  break;
              }
          }
          if (readerIdx == -1) {
              throw new IllegalStateException("Index not found in any reader: " + index);
          }
  
          WritableComparable key = indexToKey.getKeyForIndex(index);
          Writable value = ReflectionUtils.newInstance(recordClass, null);
  
          V v = (V) readers[readerIdx].get(key, value);
          return v;
      }