Program: 55180
Project: 55180
Buggy source:
private void initInputLocalStrategy(int inputNum) throws Exception {
  if (this.localStrategies[inputNum] != null) {
    throw new IllegalStateException();
  }
  final LocalStrategy localStrategy=this.config.getInputLocalStrategy(inputNum);
  if (localStrategy != null) {
switch (localStrategy) {
case NONE:
      this.inputs[inputNum]=this.inputIterators[inputNum];
    break;
case SORT:
  @SuppressWarnings({"String_Node_Str","String_Node_Str"}) UnilateralSortMerger<?> sorter=new UnilateralSortMerger(getMemoryManager(),getIOManager(),this.inputIterators[inputNum],this,this.inputSerializers[inputNum],getLocalStrategyComparator(inputNum),this.config.getMemoryInput(inputNum),this.config.getFilehandlesInput(inputNum),this.config.getSpillingThresholdInput(inputNum));
this.inputs[inputNum]=null;
this.localStrategies[inputNum]=sorter;
break;
case COMBININGSORT:
if (inputNum != 0) {
throw new IllegalStateException("String_Node_Str");
}
final S localStub;
try {
final Class<S> userCodeFunctionType=this.driver.getStubType();
if (userCodeFunctionType != null && GenericReducer.class.isAssignableFrom(userCodeFunctionType)) {
localStub=initStub(userCodeFunctionType);
}
 else {
throw new IllegalStateException("String_Node_Str");
}
}
 catch (Exception e) {
throw new RuntimeException("String_Node_Str" + e.getMessage() == null ? "String_Node_Str" : "String_Node_Str" + e.getMessage(),e);
}
@SuppressWarnings({"String_Node_Str","String_Node_Str"}) CombiningUnilateralSortMerger<?> cSorter=new CombiningUnilateralSortMerger((GenericReducer)localStub,getMemoryManager(),getIOManager(),this.inputIterators[inputNum],this,this.inputSerializers[inputNum],getLocalStrategyComparator(inputNum),this.config.getMemoryInput(inputNum),this.config.getFilehandlesInput(inputNum),this.config.getSpillingThresholdInput(inputNum),false);
this.inputs[inputNum]=null;
this.localStrategies[inputNum]=cSorter;
break;
default :
throw new Exception("String_Node_Str" + localStrategy.name());
}
}
 else {
this.inputs[inputNum]=this.inputIterators[inputNum];
}
}

Fixed version (ground truth):
private void initInputLocalStrategy(int inputNum) throws Exception {
  if (this.localStrategies[inputNum] != null) {
    throw new IllegalStateException();
  }
  final LocalStrategy localStrategy=this.config.getInputLocalStrategy(inputNum);
  if (localStrategy != null) {
switch (localStrategy) {
case NONE:
      this.inputs[inputNum]=this.inputIterators[inputNum];
    break;
case SORT:
  @SuppressWarnings({"String_Node_Str","String_Node_Str"}) UnilateralSortMerger<?> sorter=new UnilateralSortMerger(getMemoryManager(),getIOManager(),this.inputIterators[inputNum],this,this.inputSerializers[inputNum],getLocalStrategyComparator(inputNum),this.config.getMemoryInput(inputNum),this.config.getFilehandlesInput(inputNum),this.config.getSpillingThresholdInput(inputNum));
this.inputs[inputNum]=null;
this.localStrategies[inputNum]=sorter;
break;
case COMBININGSORT:
if (inputNum != 0) {
throw new IllegalStateException("String_Node_Str");
}
final S localStub;
try {
final Class<S> userCodeFunctionType=this.driver.getStubType();
if (userCodeFunctionType != null && GenericReducer.class.isAssignableFrom(userCodeFunctionType)) {
localStub=initStub(userCodeFunctionType);
localStub.open(this.config.getStubParameters());
}
 else {
throw new IllegalStateException("String_Node_Str");
}
}
 catch (Exception e) {
throw new RuntimeException("String_Node_Str" + e.getMessage() == null ? "String_Node_Str" : "String_Node_Str" + e.getMessage(),e);
}
@SuppressWarnings({"String_Node_Str","String_Node_Str"}) CombiningUnilateralSortMerger<?> cSorter=new CombiningUnilateralSortMerger((GenericReducer)localStub,getMemoryManager(),getIOManager(),this.inputIterators[inputNum],this,this.inputSerializers[inputNum],getLocalStrategyComparator(inputNum),this.config.getMemoryInput(inputNum),this.config.getFilehandlesInput(inputNum),this.config.getSpillingThresholdInput(inputNum),false);
this.inputs[inputNum]=null;
this.localStrategies[inputNum]=cSorter;
break;
default :
throw new Exception("String_Node_Str" + localStrategy.name());
}
}
 else {
this.inputs[inputNum]=this.inputIterators[inputNum];
}
}