Program: 172739
Project: 172739
Buggy source:
@Override public IColumn toColumn(final ColumnBinary columnBinary) throws IOException {
  IColumn result=new PrimitiveColumn(columnBinary.columnType,columnBinary.columnName);
  ICellManager cellManager;
  ByteBuffer wrapBuffer=ByteBuffer.wrap(columnBinary.binary,columnBinary.binaryStart,columnBinary.binaryLength);
switch (columnBinary.columnType) {
case BOOLEAN:
    if (wrapBuffer.get() == 1) {
      cellManager=new ConstantCellManager(columnBinary.columnType,new BooleanObj(true),columnBinary.rowCount);
    }
 else {
      cellManager=new ConstantCellManager(columnBinary.columnType,new BooleanObj(false),columnBinary.rowCount);
    }
  break;
case BYTE:
byte byteValue=wrapBuffer.get();
cellManager=new ConstantCellManager(columnBinary.columnType,new ByteObj(byteValue),columnBinary.rowCount);
cellManager.setIndex(new RangeByteIndex(byteValue,byteValue));
break;
case SHORT:
short shortValue=wrapBuffer.getShort();
cellManager=new ConstantCellManager(columnBinary.columnType,new ShortObj(shortValue),columnBinary.rowCount);
cellManager.setIndex(new RangeShortIndex(shortValue,shortValue));
break;
case INTEGER:
int intValue=wrapBuffer.getInt();
cellManager=new ConstantCellManager(columnBinary.columnType,new IntegerObj(intValue),columnBinary.rowCount);
cellManager.setIndex(new RangeIntegerIndex(intValue,intValue));
break;
case LONG:
long longValue=wrapBuffer.getLong();
cellManager=new ConstantCellManager(columnBinary.columnType,new LongObj(longValue),columnBinary.rowCount);
cellManager.setIndex(new RangeLongIndex(longValue,longValue));
break;
case FLOAT:
float floatValue=wrapBuffer.getFloat();
cellManager=new ConstantCellManager(columnBinary.columnType,new FloatObj(floatValue),columnBinary.rowCount);
cellManager.setIndex(new RangeFloatIndex(floatValue,floatValue));
break;
case DOUBLE:
double doubleValue=wrapBuffer.getDouble();
cellManager=new ConstantCellManager(columnBinary.columnType,new DoubleObj(doubleValue),columnBinary.rowCount);
cellManager.setIndex(new RangeDoubleIndex(doubleValue,doubleValue));
break;
case STRING:
int stringLength=wrapBuffer.getInt();
byte[] stringBytes=new byte[stringLength];
wrapBuffer.get(stringBytes);
cellManager=new ConstantCellManager(columnBinary.columnType,new UTF8BytesLinkObj(stringBytes,0,stringBytes.length),columnBinary.rowCount);
String string=new String(stringBytes,0,stringBytes.length,"String_Node_Str");
cellManager.setIndex(new RangeStringIndex(string,string,false));
break;
case BYTES:
int byteLength=wrapBuffer.getInt();
byte[] byteBytes=new byte[byteLength];
wrapBuffer.get(byteBytes);
cellManager=new ConstantCellManager(columnBinary.columnType,new BytesObj(byteBytes,0,byteBytes.length),columnBinary.rowCount);
break;
default :
throw new IOException("String_Node_Str");
}
result.setCellManager(cellManager);
return result;
}

Fixed version (ground truth):
@Override public IColumn toColumn(final ColumnBinary columnBinary) throws IOException {
  ICellManager cellManager;
  ByteBuffer wrapBuffer=ByteBuffer.wrap(columnBinary.binary,columnBinary.binaryStart,columnBinary.binaryLength);
switch (columnBinary.columnType) {
case BOOLEAN:
    if (wrapBuffer.get() == 1) {
      cellManager=new ConstantCellManager(columnBinary.columnType,new BooleanObj(true),columnBinary.rowCount);
    }
 else {
      cellManager=new ConstantCellManager(columnBinary.columnType,new BooleanObj(false),columnBinary.rowCount);
    }
  break;
case BYTE:
byte byteValue=wrapBuffer.get();
cellManager=new ConstantCellManager(columnBinary.columnType,new ByteObj(byteValue),columnBinary.rowCount);
cellManager.setIndex(new RangeByteIndex(byteValue,byteValue));
break;
case SHORT:
short shortValue=wrapBuffer.getShort();
cellManager=new ConstantCellManager(columnBinary.columnType,new ShortObj(shortValue),columnBinary.rowCount);
cellManager.setIndex(new RangeShortIndex(shortValue,shortValue));
break;
case INTEGER:
int intValue=wrapBuffer.getInt();
cellManager=new ConstantCellManager(columnBinary.columnType,new IntegerObj(intValue),columnBinary.rowCount);
cellManager.setIndex(new RangeIntegerIndex(intValue,intValue));
break;
case LONG:
long longValue=wrapBuffer.getLong();
cellManager=new ConstantCellManager(columnBinary.columnType,new LongObj(longValue),columnBinary.rowCount);
cellManager.setIndex(new RangeLongIndex(longValue,longValue));
break;
case FLOAT:
float floatValue=wrapBuffer.getFloat();
cellManager=new ConstantCellManager(columnBinary.columnType,new FloatObj(floatValue),columnBinary.rowCount);
cellManager.setIndex(new RangeFloatIndex(floatValue,floatValue));
break;
case DOUBLE:
double doubleValue=wrapBuffer.getDouble();
cellManager=new ConstantCellManager(columnBinary.columnType,new DoubleObj(doubleValue),columnBinary.rowCount);
cellManager.setIndex(new RangeDoubleIndex(doubleValue,doubleValue));
break;
case STRING:
int stringLength=wrapBuffer.getInt();
byte[] stringBytes=new byte[stringLength];
wrapBuffer.get(stringBytes);
cellManager=new ConstantCellManager(columnBinary.columnType,new UTF8BytesLinkObj(stringBytes,0,stringBytes.length),columnBinary.rowCount);
String string=new String(stringBytes,0,stringBytes.length,"String_Node_Str");
cellManager.setIndex(new RangeStringIndex(string,string));
break;
case BYTES:
int byteLength=wrapBuffer.getInt();
byte[] byteBytes=new byte[byteLength];
wrapBuffer.get(byteBytes);
cellManager=new ConstantCellManager(columnBinary.columnType,new BytesObj(byteBytes,0,byteBytes.length),columnBinary.rowCount);
break;
default :
throw new IOException("String_Node_Str");
}
IColumn result=new PrimitiveColumn(columnBinary.columnType,columnBinary.columnName);
result.setCellManager(cellManager);
return result;
}