code: @Override
    public VType get(KType key) {
      if (Intrinsics.<KType> isEmpty(key)) {
        return hasEmptyKey ? Intrinsics.<VType> cast(values[mask + 1]) : Intrinsics.<VType> empty();
      } else {
        final KType[] keys = Intrinsics.<KType[]> cast(this.keys);
        final int mask = this.mask;
        int slot = hashKey(key) & mask;
  
        KType existing;
        while (!Intrinsics.<KType> isEmpty(existing = keys[slot])) {
          if (Intrinsics.<KType> equals(this, key, existing)) {
            return Intrinsics.<VType> cast(values[slot]);
          }
          slot = (slot + 1) & mask;
        }
  
        return Intrinsics.<VType> empty();
      }
    }
docs: {@inheritDoc}