Program: 28034
Project: 28034
Buggy source:
@Override public void create(Table table){
  drawDebug=true;
  shapeRenderer=new ShapeRenderer();
  spriteBatch=new SpriteBatch();
  world=createWorld();
  createRandomWalls(8);
  character=createSteeringEntity(world,container.greenFish);
  character.setMaxLinearSpeed(2);
  character.setMaxLinearAcceleration(100);
  @SuppressWarnings("String_Node_Str") RayConfigurationBase<Vector2>[] localRayConfigurations=new RayConfigurationBase[]{new SingleRayConfiguration<Vector2>(character,Box2dSteeringTest.pixelsToMeters(100)),new ParallelSideRayConfiguration<Vector2>(character,Box2dSteeringTest.pixelsToMeters(100),character.getBoundingRadius()),new CentralRayWithWhiskersConfiguration<Vector2>(character,Box2dSteeringTest.pixelsToMeters(100),Box2dSteeringTest.pixelsToMeters(40),35 * MathUtils.degreesToRadians)};
  rayConfigurations=localRayConfigurations;
  rayConfigurationIndex=0;
  RaycastCollisionDetector<Vector2> raycastCollisionDetector=new Box2dRaycastCollisionDetector(world);
  raycastObstacleAvoidanceSB=new RaycastObstacleAvoidance<Vector2>(character,rayConfigurations[rayConfigurationIndex],raycastCollisionDetector,Box2dSteeringTest.pixelsToMeters(50));
  Wander<Vector2> wanderSB=new Wander<Vector2>(character).setFaceEnabled(false).setLimiter(new LinearAccelerationLimiter(10)).setWanderOffset(60).setWanderOrientation(10).setWanderRadius(40).setWanderRate(MathUtils.PI / 5);
  PrioritySteering<Vector2> prioritySteeringSB=new PrioritySteering<Vector2>(character,0.0001f).add(raycastObstacleAvoidanceSB).add(wanderSB);
  character.setSteeringBehavior(prioritySteeringSB);
  inputProcessor=null;
  Table detailTable=new Table(container.skin);
  detailTable.row();
  addMaxLinearAccelerationController(detailTable,character,0,2000,1);
  detailTable.row();
  final Label labelDistFromBoundary=new Label("String_Node_Str" + raycastObstacleAvoidanceSB.getDistanceFromBoundary() + "String_Node_Str",container.skin);
  detailTable.add(labelDistFromBoundary);
  detailTable.row();
  Slider distFromBoundary=new Slider(0,5,.1f,false,container.skin);
  distFromBoundary.setValue(raycastObstacleAvoidanceSB.getDistanceFromBoundary());
  distFromBoundary.addListener(new ChangeListener(){
    @Override public void changed(    ChangeEvent event,    Actor actor){
      Slider slider=(Slider)actor;
      raycastObstacleAvoidanceSB.setDistanceFromBoundary(slider.getValue());
      labelDistFromBoundary.setText("String_Node_Str" + slider.getValue() + "String_Node_Str");
    }
  }
);
  detailTable.add(distFromBoundary);
  detailTable.row();
  final Label labelRayConfig=new Label("String_Node_Str",container.skin);
  detailTable.add(labelRayConfig);
  detailTable.row();
  SelectBox<String> rayConfig=new SelectBox<String>(container.skin);
  rayConfig.setItems(new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"});
  rayConfig.setSelectedIndex(0);
  rayConfig.addListener(new ChangeListener(){
    @SuppressWarnings("String_Node_Str") @Override public void changed(    ChangeEvent event,    Actor actor){
      SelectBox<String> selectBox=(SelectBox<String>)actor;
      rayConfigurationIndex=selectBox.getSelectedIndex();
      raycastObstacleAvoidanceSB.setRayConfiguration(rayConfigurations[rayConfigurationIndex]);
    }
  }
);
  detailTable.add(rayConfig);
  detailTable.row();
  addSeparator(detailTable);
  detailTable.row();
  CheckBox debug=new CheckBox("String_Node_Str",container.skin);
  debug.setChecked(drawDebug);
  debug.addListener(new ClickListener(){
    @Override public void clicked(    InputEvent event,    float x,    float y){
      CheckBox checkBox=(CheckBox)event.getListenerActor();
      drawDebug=checkBox.isChecked();
    }
  }
);
  detailTable.add(debug);
  detailTable.row();
  addSeparator(detailTable);
  detailTable.row();
  addMaxLinearSpeedController(detailTable,character,0,15,.5f);
  detailWindow=createDetailWindow(detailTable);
}

Fixed version (ground truth):
@Override public void create(Table table){
  drawDebug=true;
  shapeRenderer=new ShapeRenderer();
  spriteBatch=new SpriteBatch();
  world=createWorld();
  createRandomWalls(8);
  character=createSteeringEntity(world,container.greenFish);
  character.setMaxLinearSpeed(2);
  character.setMaxLinearAcceleration(1);
  @SuppressWarnings("String_Node_Str") RayConfigurationBase<Vector2>[] localRayConfigurations=new RayConfigurationBase[]{new SingleRayConfiguration<Vector2>(character,Box2dSteeringTest.pixelsToMeters(100)),new ParallelSideRayConfiguration<Vector2>(character,Box2dSteeringTest.pixelsToMeters(100),character.getBoundingRadius()),new CentralRayWithWhiskersConfiguration<Vector2>(character,Box2dSteeringTest.pixelsToMeters(100),Box2dSteeringTest.pixelsToMeters(40),35 * MathUtils.degreesToRadians)};
  rayConfigurations=localRayConfigurations;
  rayConfigurationIndex=0;
  RaycastCollisionDetector<Vector2> raycastCollisionDetector=new Box2dRaycastCollisionDetector(world);
  raycastObstacleAvoidanceSB=new RaycastObstacleAvoidance<Vector2>(character,rayConfigurations[rayConfigurationIndex],raycastCollisionDetector,Box2dSteeringTest.pixelsToMeters(1000));
  Wander<Vector2> wanderSB=new Wander<Vector2>(character).setFaceEnabled(false).setLimiter(new LinearAccelerationLimiter(4)).setWanderOffset(3).setWanderOrientation(5).setWanderRadius(1).setWanderRate(MathUtils.PI / 5);
  PrioritySteering<Vector2> prioritySteeringSB=new PrioritySteering<Vector2>(character,0.0001f).add(raycastObstacleAvoidanceSB).add(wanderSB);
  character.setSteeringBehavior(prioritySteeringSB);
  inputProcessor=null;
  Table detailTable=new Table(container.skin);
  detailTable.row();
  addMaxLinearAccelerationController(detailTable,character,0,30,.5f);
  detailTable.row();
  final Label labelDistFromBoundary=new Label("String_Node_Str" + raycastObstacleAvoidanceSB.getDistanceFromBoundary() + "String_Node_Str",container.skin);
  detailTable.add(labelDistFromBoundary);
  detailTable.row();
  Slider distFromBoundary=new Slider(0,60,1f,false,container.skin);
  distFromBoundary.setValue(raycastObstacleAvoidanceSB.getDistanceFromBoundary());
  distFromBoundary.addListener(new ChangeListener(){
    @Override public void changed(    ChangeEvent event,    Actor actor){
      Slider slider=(Slider)actor;
      raycastObstacleAvoidanceSB.setDistanceFromBoundary(slider.getValue());
      labelDistFromBoundary.setText("String_Node_Str" + slider.getValue() + "String_Node_Str");
    }
  }
);
  detailTable.add(distFromBoundary);
  detailTable.row();
  final Label labelRayConfig=new Label("String_Node_Str",container.skin);
  detailTable.add(labelRayConfig);
  detailTable.row();
  SelectBox<String> rayConfig=new SelectBox<String>(container.skin);
  rayConfig.setItems(new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"});
  rayConfig.setSelectedIndex(0);
  rayConfig.addListener(new ChangeListener(){
    @SuppressWarnings("String_Node_Str") @Override public void changed(    ChangeEvent event,    Actor actor){
      SelectBox<String> selectBox=(SelectBox<String>)actor;
      rayConfigurationIndex=selectBox.getSelectedIndex();
      raycastObstacleAvoidanceSB.setRayConfiguration(rayConfigurations[rayConfigurationIndex]);
    }
  }
);
  detailTable.add(rayConfig);
  detailTable.row();
  addSeparator(detailTable);
  detailTable.row();
  CheckBox debug=new CheckBox("String_Node_Str",container.skin);
  debug.setChecked(drawDebug);
  debug.addListener(new ClickListener(){
    @Override public void clicked(    InputEvent event,    float x,    float y){
      CheckBox checkBox=(CheckBox)event.getListenerActor();
      drawDebug=checkBox.isChecked();
    }
  }
);
  detailTable.add(debug);
  detailTable.row();
  addSeparator(detailTable);
  detailTable.row();
  addMaxLinearSpeedController(detailTable,character,0,15,.5f);
  detailWindow=createDetailWindow(detailTable);
}