public void setVal(int elementNum, byte[] sourceBuf, int start, int length) {
    ensureValPreallocated(length);
    if (length > 0) {
      System.arraycopy(sourceBuf, start, currentValue, currentOffset, length);
    }
    setValPreallocated(elementNum, length);
  }
Set a field by actually copying in to a local buffer.
If you must actually copy data in to the array, use this method.
DO NOT USE this method unless it's not practical to set data by reference with setRef().
Setting data by reference tends to run a lot faster than copying data in.

This is a FAST version that assumes the caller has checked to make sure the sourceBuf
is not null and elementNum is correctly adjusted for isRepeating.  And, that the isNull entry
has been set.  Only the output entry fields will be set by this method.

@param elementNum index within column vector to set
@param sourceBuf container of source data
@param start start byte position within source
@param length  length of source byte sequence
storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.java