Program: 86646
Project: 86646
Buggy source:
/** 
 */
public WeaponClassDialogView(WeaponClassDialog dialog){
  this.dialog=dialog;
  this.panelView=new PanelView();
  this.panelView.addElement(new LabelView(dialog.getTitle()));
  this.panelView.addElement(new ButtonView(dialog.getCancelBtn()));
  this.origin=new Vector2f();
  Button[] btns=dialog.getWeaponClasses();
  this.weaponBtns=btns;
  if (btns.length != 7) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  for (  Button btn : this.weaponBtns) {
    this.panelView.addElement(new SelectionAreaView(btn,dialog));
  }
  this.origin.set(this.weaponBtns[0].getBounds().x,this.weaponBtns[0].getBounds().y);
  this.originalButtonWidth=this.weaponBtns[0].getBounds().width;
switch (dialog.getTeam()) {
case ALLIES:
    this.panelView.addElement(new ImageButtonView(btns[0],scale(Art.thompsonIcon)));
  this.panelView.addElement(new ImageButtonView(btns[1],Art.m1GarandIcon));
this.panelView.addElement(new ImageButtonView(btns[2],Art.springfieldIcon));
break;
case AXIS:
this.panelView.addElement(new ImageButtonView(btns[0],Art.mp40Icon));
this.panelView.addElement(new ImageButtonView(btns[1],Art.mp44Icon));
this.panelView.addElement(new ImageButtonView(btns[2],Art.kar98Icon));
break;
default :
break;
}
this.panelView.addElement(new ImageButtonView(btns[3],Art.riskerIcon));
this.panelView.addElement(new ImageButtonView(btns[4],Art.shotgunIcon));
this.panelView.addElement(new ImageButtonView(btns[5],Art.rocketIcon));
this.panelView.addElement(new ImageButtonView(btns[6],Art.flameThrowerIcon));
this.weaponDescriptions=dialog.getWeaponClassDescriptions();
for (Label lbl : this.weaponDescriptions) {
this.panelView.addElement(new LabelView(lbl));
}
}

Fixed version (ground truth):
/** 
 */
public WeaponClassDialogView(WeaponClassDialog dialog){
  this.dialog=dialog;
  this.panelView=new PanelView();
  this.panelView.addElement(new LabelView(dialog.getTitle()));
  this.panelView.addElement(new ButtonView(dialog.getCancelBtn()));
  this.origin=new Vector2f();
  Button[] btns=dialog.getWeaponClasses();
  this.weaponBtns=btns;
  if (btns.length != 7) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  for (  Button btn : this.weaponBtns) {
    this.panelView.addElement(new SelectionAreaView(btn,dialog));
  }
  this.origin.set(this.weaponBtns[0].getBounds().x,this.weaponBtns[0].getBounds().y);
  this.originalButtonWidth=this.weaponBtns[0].getBounds().width;
switch (dialog.getTeam()) {
case ALLIES:
    this.panelView.addElement(new ImageButtonView(btns[0],scale(Art.thompsonIcon)));
  this.panelView.addElement(new ImageButtonView(btns[1],scale(Art.m1GarandIcon)));
this.panelView.addElement(new ImageButtonView(btns[2],scale(Art.springfieldIcon)));
break;
case AXIS:
this.panelView.addElement(new ImageButtonView(btns[0],scale(Art.mp40Icon)));
this.panelView.addElement(new ImageButtonView(btns[1],scale(Art.mp44Icon)));
this.panelView.addElement(new ImageButtonView(btns[2],scale(Art.kar98Icon)));
break;
default :
break;
}
this.panelView.addElement(new ImageButtonView(btns[3],scale(Art.riskerIcon)));
this.panelView.addElement(new ImageButtonView(btns[4],scale(Art.shotgunIcon)));
this.panelView.addElement(new ImageButtonView(btns[5],scale(Art.rocketIcon)));
this.panelView.addElement(new ImageButtonView(btns[6],scale(Art.flameThrowerIcon)));
this.weaponDescriptions=dialog.getWeaponClassDescriptions();
for (Label lbl : this.weaponDescriptions) {
this.panelView.addElement(new LabelView(lbl));
}
}