public void ensureSize(int size, boolean preserveData) {
    if (isNull.length < size) {
      boolean[] oldArray = isNull;
      isNull = new boolean[size];
      if (preserveData && !noNulls) {
        if (isRepeating) {
          isNull[0] = oldArray[0];
        } else {
          System.arraycopy(oldArray, 0, isNull, 0, oldArray.length);
        }
      }
    }
  }
Ensure the ColumnVector can hold at least size values.
This method is deliberately *not* recursive because the complex types
can easily have more (or less) children than the upper levels.
@param size the new minimum size
@param preserveData should the old data be preserved?
storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/ColumnVector.java