Program: 45793
Project: 45793
Buggy source:
/** 
 * Default constructor, creates the GUI and sets up the JSpinners with the proper model and editor.
 */
public PositionJPanel(){
  initComponents();
  Float value=new Float(0);
  Float min=new Float(Float.NEGATIVE_INFINITY);
  Float max=new Float(Float.POSITIVE_INFINITY);
  Float step=new Float(0.1);
  xTranslationModel=new SpinnerNumberModel(value,min,max,step);
  yTranslationModel=new SpinnerNumberModel(value,min,max,step);
  zTranslationModel=new SpinnerNumberModel(value,min,max,step);
  translationXTF.setModel(xTranslationModel);
  translationYTF.setModel(yTranslationModel);
  translationZTF.setModel(zTranslationModel);
  translationXTF.setEditor(new JSpinner.NumberEditor(translationXTF,"String_Node_Str"));
  translationYTF.setEditor(new JSpinner.NumberEditor(translationYTF,"String_Node_Str"));
  translationZTF.setEditor(new JSpinner.NumberEditor(translationZTF,"String_Node_Str"));
  value=new Float(1);
  min=new Float(0);
  xScaleModel=new SpinnerNumberModel(value,min,max,step);
  yScaleModel=new SpinnerNumberModel(value,min,max,step);
  zScaleModel=new SpinnerNumberModel(value,min,max,step);
  scaleXTF.setModel(xScaleModel);
  scaleXTF.setEditor(new JSpinner.NumberEditor(scaleXTF,"String_Node_Str"));
  value=new Float(0);
  min=new Float(-360);
  max=new Float(360);
  step=new Float(1);
  xRotationModel=new SpinnerNumberModel(value,min,max,step);
  yRotationModel=new SpinnerNumberModel(value,min,max,step);
  zRotationModel=new SpinnerNumberModel(value,min,max,step);
  rotationXTF.setModel(xRotationModel);
  rotationYTF.setModel(yRotationModel);
  rotationZTF.setModel(zRotationModel);
  rotationXTF.setEditor(new JSpinner.NumberEditor(rotationXTF,"String_Node_Str"));
  rotationYTF.setEditor(new JSpinner.NumberEditor(rotationYTF,"String_Node_Str"));
  rotationZTF.setEditor(new JSpinner.NumberEditor(rotationZTF,"String_Node_Str"));
  translationListener=new ChangeListener(){
    public void stateChanged(    ChangeEvent e){
      if (setLocal == false) {
        updateTranslation();
      }
    }
  }
;
  xTranslationModel.addChangeListener(translationListener);
  yTranslationModel.addChangeListener(translationListener);
  zTranslationModel.addChangeListener(translationListener);
  rotationListener=new ChangeListener(){
    public void stateChanged(    ChangeEvent e){
      if (setLocal == false) {
        updateRotation();
      }
    }
  }
;
  xRotationModel.addChangeListener(rotationListener);
  yRotationModel.addChangeListener(rotationListener);
  zRotationModel.addChangeListener(rotationListener);
  scaleListener=new ChangeListener(){
    public void stateChanged(    ChangeEvent e){
      if (setLocal == false) {
        updateScale();
      }
    }
  }
;
  xScaleModel.addChangeListener(scaleListener);
  yScaleModel.addChangeListener(scaleListener);
  zScaleModel.addChangeListener(scaleListener);
  componentListener=new ComponentChangeListener(){
    public void componentChanged(    Cell cell,    ChangeType type,    CellComponent component){
      if (type == ChangeType.ADDED && component instanceof MovableComponent) {
        movableComponent=(MovableComponent)component;
        translationXTF.setEnabled(true);
        translationYTF.setEnabled(true);
        translationZTF.setEnabled(true);
        rotationXTF.setEnabled(true);
        rotationYTF.setEnabled(true);
        rotationZTF.setEnabled(true);
        scaleXTF.setEnabled(true);
      }
    }
  }
;
  transformListener=new TransformChangeListener(){
    public void transformChanged(    Cell cell,    ChangeSource source){
      SwingUtilities.invokeLater(new Runnable(){
        public void run(){
          try {
            setLocalChanges(true);
            updateGUI();
          }
  finally {
            setLocalChanges(false);
          }
        }
      }
);
    }
  }
;
}

Fixed version (ground truth):
/** 
 * Default constructor, creates the GUI and sets up the JSpinners with the proper model and editor.
 */
public PositionJPanel(){
  initComponents();
  Float value=new Float(0);
  Float min=new Float(Float.NEGATIVE_INFINITY);
  Float max=new Float(Float.POSITIVE_INFINITY);
  Float step=new Float(0.1);
  xTranslationModel=new SpinnerNumberModel(value,min,max,step);
  yTranslationModel=new SpinnerNumberModel(value,min,max,step);
  zTranslationModel=new SpinnerNumberModel(value,min,max,step);
  translationXTF.setModel(xTranslationModel);
  translationYTF.setModel(yTranslationModel);
  translationZTF.setModel(zTranslationModel);
  translationXTF.setEditor(new JSpinner.NumberEditor(translationXTF,"String_Node_Str"));
  translationYTF.setEditor(new JSpinner.NumberEditor(translationYTF,"String_Node_Str"));
  translationZTF.setEditor(new JSpinner.NumberEditor(translationZTF,"String_Node_Str"));
  value=new Float(1);
  min=new Float(0);
  xScaleModel=new SpinnerNumberModel(value,min,max,step);
  yScaleModel=new SpinnerNumberModel(value,min,max,step);
  zScaleModel=new SpinnerNumberModel(value,min,max,step);
  scaleXTF.setModel(xScaleModel);
  scaleXTF.setEditor(new JSpinner.NumberEditor(scaleXTF,"String_Node_Str"));
  value=new Float(0);
  min=new Float(-360);
  max=new Float(360);
  step=new Float(1);
  xRotationModel=new SpinnerNumberModel(value,min,max,step);
  yRotationModel=new SpinnerNumberModel(value,min,max,step);
  zRotationModel=new SpinnerNumberModel(value,min,max,step);
  rotationXTF.setModel(xRotationModel);
  rotationYTF.setModel(yRotationModel);
  rotationZTF.setModel(zRotationModel);
  rotationXTF.setEditor(new JSpinner.NumberEditor(rotationXTF,"String_Node_Str"));
  rotationYTF.setEditor(new JSpinner.NumberEditor(rotationYTF,"String_Node_Str"));
  rotationZTF.setEditor(new JSpinner.NumberEditor(rotationZTF,"String_Node_Str"));
  translationListener=new ChangeListener(){
    public void stateChanged(    ChangeEvent e){
      if (setLocal == false) {
        isLocalChangesMade=true;
        updateTranslation();
      }
    }
  }
;
  xTranslationModel.addChangeListener(translationListener);
  yTranslationModel.addChangeListener(translationListener);
  zTranslationModel.addChangeListener(translationListener);
  rotationListener=new ChangeListener(){
    public void stateChanged(    ChangeEvent e){
      if (setLocal == false) {
        isLocalChangesMade=true;
        updateRotation();
      }
    }
  }
;
  xRotationModel.addChangeListener(rotationListener);
  yRotationModel.addChangeListener(rotationListener);
  zRotationModel.addChangeListener(rotationListener);
  scaleListener=new ChangeListener(){
    public void stateChanged(    ChangeEvent e){
      if (setLocal == false) {
        isLocalChangesMade=true;
        updateScale();
      }
    }
  }
;
  xScaleModel.addChangeListener(scaleListener);
  yScaleModel.addChangeListener(scaleListener);
  zScaleModel.addChangeListener(scaleListener);
  componentListener=new ComponentChangeListener(){
    public void componentChanged(    Cell cell,    ChangeType type,    CellComponent component){
      if (type == ChangeType.ADDED && component instanceof MovableComponent) {
        movableComponent=(MovableComponent)component;
        translationXTF.setEnabled(true);
        translationYTF.setEnabled(true);
        translationZTF.setEnabled(true);
        rotationXTF.setEnabled(true);
        rotationYTF.setEnabled(true);
        rotationZTF.setEnabled(true);
        scaleXTF.setEnabled(true);
      }
    }
  }
;
  transformListener=new TransformChangeListener(){
    public void transformChanged(    Cell cell,    ChangeSource source){
      SwingUtilities.invokeLater(new Runnable(){
        public void run(){
          try {
            setLocalChanges(true);
            updateGUI();
          }
  finally {
            setLocalChanges(false);
          }
        }
      }
);
    }
  }
;
}