public void setKey(VectorMapJoinFastBytesHashMapStore hashMapStore, long refWord) {

      // Preconditions.checkState(!KeyRef.getIsInvalidFlag(refWord));

      this.hashMapStore = hashMapStore;

      this.refWord = refWord;

      absoluteOffset = KeyRef.getAbsoluteOffset(refWord);

      // Position after next relative offset (fixed length) to the key.
      hashMapStore.writeBuffers.setReadPoint(absoluteOffset, readPos);

      keyLength = KeyRef.getSmallKeyLength(refWord);
      boolean isKeyLengthSmall = (keyLength != KeyRef.SmallKeyLength.allBitsOn);
      if (isKeyLengthSmall) {

        keyAbsoluteOffset = absoluteOffset;
      } else {

        // And, if current value is big we must read it.
        keyLength = hashMapStore.writeBuffers.readVInt(readPos);
        keyAbsoluteOffset = hashMapStore.writeBuffers.getReadPoint(readPos);
      }

      // NOTE: Reading is now positioned before the key bytes.
    }
Setup for reading the key of an entry with the equalKey method.
@param hashMapStore
@param refWord
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/VectorMapJoinFastBytesHashMapStore.java