final double maxValue = getMaxValue();
final double minValue = getMinValue();
if (dataItem > maxValue) { putMaxValue(dataItem); }
if (dataItem < minValue) { putMinValue(dataItem); }
int bbCount = getBaseBufferCount();
<BUG>insertIntoBaseBuffer(memObj_, memAdd_, bbCount++, dataItem);
final long newN = getN() + 1;
insertFlags(memObj_, memAdd_, 0); //not compact, not ordered, not empty
if (bbCount == 2 * k_) { //Propagate</BUG>
final int curCombBufItemCap = getCombinedBufferItemCapacity(); //K, prev N, Direct case

final double maxValue = getMaxValue();
final double minValue = getMinValue();
if (dataItem > maxValue) { putMaxValue(dataItem); }
if (dataItem < minValue) { putMinValue(dataItem); }
int bbCount = getBaseBufferCount();
mem_.putDouble(COMBINED_BUFFER + bbCount * Double.BYTES, dataItem);
bbCount++;
final long newN = getN() + 1;
mem_.putByte(FLAGS_BYTE, (byte) 0); //not compact, not ordered, not empty
if (bbCount == 2 * k_) { //Propagate
final int curCombBufItemCap = getCombinedBufferItemCapacity(); //K, prev N, Direct case
