public void getKey(long refWord, ByteSegmentRef keyByteSegmentRef,
      WriteBuffers.Position readPos) {

    final long absoluteOffset = KeyRef.getAbsoluteOffset(refWord);

    writeBuffers.setReadPoint(absoluteOffset, readPos);

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

      // Read big key length we wrote with the key.
      keyLength = writeBuffers.readVInt(readPos);
    }
    writeBuffers.getByteSegmentRefToCurrent(keyByteSegmentRef, keyLength, readPos);
  }
@param refWord
@param valueBytes
@param valueStart
@param valueLength
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/VectorMapJoinFastBytesHashMapStore.java