docs: public final V set(int index, K key, V value) {
      if (index < 0) {
        throw new IndexOutOfBoundsException();
      }
      int minSize = index + 1;
      ensureCapacity(minSize);
      int dataIndex = index << 1;
      V result = valueAtDataIndex(dataIndex + 1);
      setData(dataIndex, key, value);
      if (minSize > this.size) {
        this.size = minSize;
      }
      return result;
    }