Program: 111984
Project: 111984
Buggy source:
public ValuesWriter getValuesWriter(ColumnDescriptor path,int initialSizePerCol){
switch (path.getType()) {
case BOOLEAN:
    if (writerVersion == WriterVersion.PARQUET_1_0) {
      return new BooleanPlainValuesWriter();
    }
 else     if (writerVersion == WriterVersion.PARQUET_2_0) {
      return new RunLengthBitPackingHybridValuesWriter(1,initialSizePerCol);
    }
  break;
case BINARY:
if (enableDictionary) {
  return new PlainBinaryDictionaryValuesWriter(dictionaryPageSizeThreshold,initialSizePerCol);
}
 else {
  if (writerVersion == WriterVersion.PARQUET_1_0) {
    return new PlainValuesWriter(initialSizePerCol);
  }
 else   if (writerVersion == WriterVersion.PARQUET_2_0) {
    return new DeltaByteArrayWriter(initialSizePerCol);
  }
}
break;
case INT32:
if (enableDictionary) {
return new PlainIntegerDictionaryValuesWriter(dictionaryPageSizeThreshold,initialSizePerCol);
}
 else {
if (writerVersion == WriterVersion.PARQUET_1_0) {
return new PlainValuesWriter(initialSizePerCol);
}
 else if (writerVersion == WriterVersion.PARQUET_2_0) {
return new DeltaBinaryPackingValuesWriter(initialSizePerCol);
}
}
break;
case INT64:
if (enableDictionary) {
return new PlainLongDictionaryValuesWriter(dictionaryPageSizeThreshold,initialSizePerCol);
}
 else {
return new PlainValuesWriter(initialSizePerCol);
}
case INT96:
if (enableDictionary) {
return new PlainFixedLenArrayDictionaryValuesWriter(12,dictionaryPageSizeThreshold,initialSizePerCol);
}
 else {
return new FixedLenByteArrayPlainValuesWriter(12,initialSizePerCol);
}
case DOUBLE:
if (enableDictionary) {
return new PlainDoubleDictionaryValuesWriter(dictionaryPageSizeThreshold,initialSizePerCol);
}
 else {
return new PlainValuesWriter(initialSizePerCol);
}
case FLOAT:
if (enableDictionary) {
return new PlainFloatDictionaryValuesWriter(dictionaryPageSizeThreshold,initialSizePerCol);
}
 else {
return new PlainValuesWriter(initialSizePerCol);
}
case FIXED_LEN_BYTE_ARRAY:
return new FixedLenByteArrayPlainValuesWriter(path.getTypeLength(),initialSizePerCol);
default :
return new PlainValuesWriter(initialSizePerCol);
}
return null;
}

Fixed version (ground truth):
public ValuesWriter getValuesWriter(ColumnDescriptor path,int initialSizePerCol){
switch (path.getType()) {
case BOOLEAN:
    if (writerVersion == WriterVersion.PARQUET_1_0) {
      return new BooleanPlainValuesWriter();
    }
 else     if (writerVersion == WriterVersion.PARQUET_2_0) {
      return new RunLengthBitPackingHybridValuesWriter(1,initialSizePerCol);
    }
  break;
case BINARY:
if (enableDictionary) {
  return new PlainBinaryDictionaryValuesWriter(dictionaryPageSizeThreshold,initialSizePerCol);
}
 else {
  if (writerVersion == WriterVersion.PARQUET_1_0) {
    return new PlainValuesWriter(initialSizePerCol);
  }
 else   if (writerVersion == WriterVersion.PARQUET_2_0) {
    return new DeltaByteArrayWriter(initialSizePerCol);
  }
}
break;
case INT32:
if (enableDictionary) {
return new PlainIntegerDictionaryValuesWriter(dictionaryPageSizeThreshold,initialSizePerCol);
}
 else {
if (writerVersion == WriterVersion.PARQUET_1_0) {
return new PlainValuesWriter(initialSizePerCol);
}
 else if (writerVersion == WriterVersion.PARQUET_2_0) {
return new DeltaBinaryPackingValuesWriter(initialSizePerCol);
}
}
break;
case INT64:
if (enableDictionary) {
return new PlainLongDictionaryValuesWriter(dictionaryPageSizeThreshold,initialSizePerCol);
}
 else {
return new PlainValuesWriter(initialSizePerCol);
}
case INT96:
if (enableDictionary) {
return new PlainFixedLenArrayDictionaryValuesWriter(dictionaryPageSizeThreshold,initialSizePerCol,12);
}
 else {
return new FixedLenByteArrayPlainValuesWriter(12,initialSizePerCol);
}
case DOUBLE:
if (enableDictionary) {
return new PlainDoubleDictionaryValuesWriter(dictionaryPageSizeThreshold,initialSizePerCol);
}
 else {
return new PlainValuesWriter(initialSizePerCol);
}
case FLOAT:
if (enableDictionary) {
return new PlainFloatDictionaryValuesWriter(dictionaryPageSizeThreshold,initialSizePerCol);
}
 else {
return new PlainValuesWriter(initialSizePerCol);
}
case FIXED_LEN_BYTE_ARRAY:
return new FixedLenByteArrayPlainValuesWriter(path.getTypeLength(),initialSizePerCol);
default :
return new PlainValuesWriter(initialSizePerCol);
}
return null;
}