code: private V removeFromDataIndexOfKey(int dataIndexOfKey) {
      int dataSize = this.size << 1;
      if (dataIndexOfKey < 0 || dataIndexOfKey >= dataSize) {
        return null;
      }
      V result = valueAtDataIndex(dataIndexOfKey + 1);
      Object[] data = this.data;
      int moved = dataSize - dataIndexOfKey - 2;
      if (moved != 0) {
        System.arraycopy(data, dataIndexOfKey + 2, data, dataIndexOfKey, moved);
      }
      this.size--;
      setData(dataSize - 2, null, null);
      return result;
    }
docs: Removes the key/value mapping at the given data index of key, or ignored if the index is out of
  bounds.