docs: @SuppressWarnings("unchecked")
      public V put(final int keyPartA, final int keyPartB, final V value)
      {
          final long key = compoundKey(keyPartA, keyPartB);
  
          V oldValue = null;
          final int mask = values.length - 1;
          int index = Hashing.hash(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;
      }