Program: 56196
Project: 56196
Buggy source:
@Override public void executeTask(TaskPacket iTask){
  if (!(iTask instanceof SimpleGuiTask)) {
    return;
  }
  SimpleGuiTask guiTask=(SimpleGuiTask)iTask;
  System.out.println("String_Node_Str" + guiTask.getGuiAction());
switch (guiTask.getGuiAction()) {
case SET_WORK_AREA:
{
      WorkAreaGuiTask task=(WorkAreaGuiTask)guiTask;
      setWorkArea(task.getPosition(),task.getBuildingPos().x,task.getBuildingPos().y);
    }
  break;
case BUILD:
{
  GeneralGuiTask task=(GeneralGuiTask)guiTask;
  grid.constructBuildingAt(task.getPosition(),task.getType());
}
break;
case MOVE_TO:
{
MoveToGuiTask task=(MoveToGuiTask)guiTask;
moveSelectedTo(task.getPosition(),task.getSelection());
}
break;
case QUICK_SAVE:
try {
grid.save(guiInterface.getUIState());
}
 catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
catch (InterruptedException e) {
e.printStackTrace();
}
break;
case DESTROY_BUILDING:
{
ShortPoint2D buildingPos=((DestroyBuildingGuiTask)guiTask).getPosition();
((Building)grid.getBuildingAt(buildingPos.x,buildingPos.y)).kill();
}
break;
case DESTROY_MOVABLES:
killSelectedMovables(((MovableGuiTask)guiTask).getSelection());
break;
case START_WORKING:
case STOP_WORKING:
stopOrStartWorking(((MovableGuiTask)guiTask).getSelection(),guiTask.getGuiAction() == EGuiAction.STOP_WORKING);
break;
case CONVERT:
convertMovables((ConvertGuiTask)guiTask);
break;
case SET_BUILDING_PRIORITY:
setBuildingPriority((SetBuildingPriorityGuiTask)guiTask);
break;
case SET_MATERIAL_DISTRIBUTION_SETTINGS:
{
SetMaterialDistributionSettingsGuiTask task=(SetMaterialDistributionSettingsGuiTask)guiTask;
grid.setMaterialDistributionSettings(task.getManagerPosition(),task.getMaterialType(),task.getProbabilities());
}
break;
case SET_MATERIAL_PRIORITIES:
{
SetMaterialPrioritiesGuiTask task=(SetMaterialPrioritiesGuiTask)guiTask;
grid.setMaterialPrioritiesSetting(task.getManagerPosition(),task.getMaterialTypeForPriority());
}
break;
default :
break;
}
}

Fixed version (ground truth):
@Override public void executeTask(TaskPacket iTask){
  if (!(iTask instanceof SimpleGuiTask)) {
    return;
  }
  SimpleGuiTask guiTask=(SimpleGuiTask)iTask;
  System.out.println("String_Node_Str" + guiTask.getGuiAction());
switch (guiTask.getGuiAction()) {
case SET_WORK_AREA:
{
      WorkAreaGuiTask task=(WorkAreaGuiTask)guiTask;
      setWorkArea(task.getPosition(),task.getBuildingPos().x,task.getBuildingPos().y);
    }
  break;
case BUILD:
{
  GeneralGuiTask task=(GeneralGuiTask)guiTask;
  grid.constructBuildingAt(task.getPosition(),task.getType());
}
break;
case MOVE_TO:
{
MoveToGuiTask task=(MoveToGuiTask)guiTask;
moveSelectedTo(task.getPosition(),task.getSelection());
}
break;
case QUICK_SAVE:
try {
grid.save(guiInterface.getUIState());
}
 catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
catch (InterruptedException e) {
e.printStackTrace();
}
break;
case DESTROY_BUILDING:
{
ShortPoint2D buildingPos=((DestroyBuildingGuiTask)guiTask).getPosition();
Building building=((Building)grid.getBuildingAt(buildingPos.x,buildingPos.y));
if (building != null) {
building.kill();
}
}
break;
case DESTROY_MOVABLES:
killSelectedMovables(((MovableGuiTask)guiTask).getSelection());
break;
case START_WORKING:
case STOP_WORKING:
stopOrStartWorking(((MovableGuiTask)guiTask).getSelection(),guiTask.getGuiAction() == EGuiAction.STOP_WORKING);
break;
case CONVERT:
convertMovables((ConvertGuiTask)guiTask);
break;
case SET_BUILDING_PRIORITY:
setBuildingPriority((SetBuildingPriorityGuiTask)guiTask);
break;
case SET_MATERIAL_DISTRIBUTION_SETTINGS:
{
SetMaterialDistributionSettingsGuiTask task=(SetMaterialDistributionSettingsGuiTask)guiTask;
grid.setMaterialDistributionSettings(task.getManagerPosition(),task.getMaterialType(),task.getProbabilities());
}
break;
case SET_MATERIAL_PRIORITIES:
{
SetMaterialPrioritiesGuiTask task=(SetMaterialPrioritiesGuiTask)guiTask;
grid.setMaterialPrioritiesSetting(task.getManagerPosition(),task.getMaterialTypeForPriority());
}
break;
default :
break;
}
}