docs: @SuppressWarnings("unchecked")
      public V put(final int key, final V value) {
          checkNotNull(value, "Value cannot be null");
          V oldValue = null;
          int index = intHash(key, mask);
          while (null != values[index]) {
              if (key == keys[index]) {
                  oldValue = (V) values[index];
                  break;
              }
              index = ++index & mask;
          }
          if (null == oldValue) {
              ++size;
              keys[index] = key;
          }
          values[index] = value;
          if (size > resizeThreshold) {
              increaseCapacity();
          }
          return oldValue;
      }