Program: 121155
Project: 121155
Buggy source:
@Override protected void addFields(){
  Group group=Form.createGroup(this,1,"String_Node_Str",100);
  Composite compositeFileLocation=Form.startNewDimensionnedGridLayout(group,3,WIDTH_GRIDDATA_PIXEL,100);
  GridData gridDataFileLocation=new GridData(GridData.FILL_HORIZONTAL);
  gridDataFileLocation.minimumWidth=WIDTH_GRIDDATA_PIXEL;
  group.setLayoutData(gridDataFileLocation);
  String[] JSONExtensions={"String_Node_Str","String_Node_Str","String_Node_Str"};
  fileFieldJSON=new LabelledFileField(compositeFileLocation,"String_Node_Str",JSONExtensions);
  EMetadataEncoding[] values=EMetadataEncoding.values();
  String[] encodingData=new String[values.length];
  for (int j=0; j < values.length; j++) {
    encodingData[j]=values[j].getName();
  }
  encodingCombo=new LabelledCombo(compositeFileLocation,"String_Node_Str","String_Node_Str",encodingData,1,true,SWT.NONE);
  Composite limitation=new Composite(compositeFileLocation,SWT.NONE);
  limitation.setLayout(new GridLayout(2,false));
  Label labelLimitation=new Label(limitation,SWT.LEFT);
  labelLimitation.setText("String_Node_Str");
  final Text commonNodesLimitation=new Text(limitation,SWT.BORDER);
  GridData gd=new GridData(18,12);
  commonNodesLimitation.setLayoutData(gd);
  commonNodesLimitation.setText(String.valueOf(TreePopulator.getLimit()));
  commonNodesLimitation.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      String str=commonNodesLimitation.getText();
      if ((!str.matches("String_Node_Str")) || (Integer.valueOf(str) < 0)) {
        commonNodesLimitation.setText(String.valueOf(treePopulator.getLimit()));
      }
 else {
        treePopulator.setLimit(Integer.valueOf(str));
      }
      if (tempJSONXsdPath != null && getConnection().getFileContent() != null && getConnection().getFileContent().length > 0) {
        String tempxml=null;
        if (JSONFileStep1Form.this.wizard.getTempJsonPath() == null || JSONFileStep1Form.this.wizard.getTempJsonPath().length() == 0) {
          tempxml=JSONUtil.changeJsonToXml(tempJSONXsdPath);
          JSONFileStep1Form.this.wizard.setTempJsonPath(tempxml);
        }
 else {
          tempxml=JSONFileStep1Form.this.wizard.getTempJsonPath();
        }
        valid=treePopulator.populateTree(tempxml,treeNode);
      }
 else {
        String tempxml=null;
        if (JSONFileStep1Form.this.wizard.getTempJsonPath() == null || JSONFileStep1Form.this.wizard.getTempJsonPath().length() == 0) {
          tempxml=JSONUtil.changeJsonToXml(fileFieldJSON.getText());
          JSONFileStep1Form.this.wizard.setTempJsonPath(tempxml);
        }
 else {
          tempxml=JSONFileStep1Form.this.wizard.getTempJsonPath();
        }
        valid=treePopulator.populateTree(tempxml,treeNode);
      }
      checkFieldsValue();
    }
  }
);
  commonNodesLimitation.addFocusListener(new FocusListener(){
    public void focusGained(    FocusEvent e){
    }
    public void focusLost(    FocusEvent e){
      commonNodesLimitation.setText(String.valueOf(TreePopulator.getLimit()));
    }
  }
);
  group=Form.createGroup(this,1,"String_Node_Str",220);
  Composite compositeFileViewer=Form.startNewDimensionnedGridLayout(group,1,WIDTH_GRIDDATA_PIXEL,220);
  GridData gridData=new GridData(GridData.FILL_BOTH);
  gridData.minimumWidth=WIDTH_GRIDDATA_PIXEL;
  availableJSONTree=new Tree(compositeFileViewer,SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
  availableJSONTree.setLayoutData(gridData);
  if (!isInWizard()) {
    Composite compositeBottomButton=Form.startNewGridLayout(this,2,false,SWT.CENTER,SWT.CENTER);
    cancelButton=new UtilsButton(compositeBottomButton,"String_Node_Str",WIDTH_BUTTON_PIXEL,HEIGHT_BUTTON_PIXEL);
  }
  addUtilsButtonListeners();
}

Fixed version (ground truth):
@Override protected void addFields(){
  Group group=Form.createGroup(this,1,"String_Node_Str",100);
  Composite compositeFileLocation=Form.startNewDimensionnedGridLayout(group,3,WIDTH_GRIDDATA_PIXEL,100);
  GridData gridDataFileLocation=new GridData(GridData.FILL_HORIZONTAL);
  gridDataFileLocation.minimumWidth=WIDTH_GRIDDATA_PIXEL;
  group.setLayoutData(gridDataFileLocation);
  String[] JSONExtensions={"String_Node_Str","String_Node_Str","String_Node_Str"};
  fileFieldJSON=new LabelledFileField(compositeFileLocation,"String_Node_Str",JSONExtensions);
  EMetadataEncoding[] values=EMetadataEncoding.values();
  String[] encodingData=new String[values.length];
  for (int j=0; j < values.length; j++) {
    encodingData[j]=values[j].getName();
  }
  encodingCombo=new LabelledCombo(compositeFileLocation,"String_Node_Str","String_Node_Str",encodingData,1,true,SWT.NONE);
  Composite limitation=new Composite(compositeFileLocation,SWT.NONE);
  limitation.setLayout(new GridLayout(2,false));
  Label labelLimitation=new Label(limitation,SWT.LEFT);
  labelLimitation.setText("String_Node_Str");
  final Text commonNodesLimitation=new Text(limitation,SWT.BORDER);
  GridData gd=new GridData(18,12);
  commonNodesLimitation.setLayoutData(gd);
  commonNodesLimitation.setText(String.valueOf(TreePopulator.getLimit()));
  commonNodesLimitation.addModifyListener(new ModifyListener(){
    @Override public void modifyText(    ModifyEvent e){
      String str=commonNodesLimitation.getText();
      if ((!str.matches("String_Node_Str")) || (Integer.valueOf(str) < 0)) {
        commonNodesLimitation.setText(String.valueOf(treePopulator.getLimit()));
      }
 else {
        treePopulator.setLimit(Integer.valueOf(str));
      }
      if (tempJSONXsdPath != null && getConnection().getFileContent() != null && getConnection().getFileContent().length > 0) {
        String tempxml=null;
        if (JSONFileStep1Form.this.wizard.getTempJsonPath() == null || JSONFileStep1Form.this.wizard.getTempJsonPath().length() == 0) {
          tempxml=JSONUtil.changeJsonToXml(tempJSONXsdPath);
          JSONFileStep1Form.this.wizard.setTempJsonPath(tempxml);
        }
 else {
          tempxml=JSONFileStep1Form.this.wizard.getTempJsonPath();
        }
        valid=treePopulator.populateTree(tempxml,treeNode);
      }
 else {
        String tempxml=null;
        if (JSONFileStep1Form.this.wizard.getTempJsonPath() == null || JSONFileStep1Form.this.wizard.getTempJsonPath().length() == 0) {
          tempxml=JSONUtil.changeJsonToXml(fileFieldJSON.getText());
          JSONFileStep1Form.this.wizard.setTempJsonPath(tempxml);
        }
 else {
          tempxml=JSONFileStep1Form.this.wizard.getTempJsonPath();
        }
        valid=treePopulator.populateTree(tempxml,treeNode);
      }
      checkFieldsValue();
    }
  }
);
  commonNodesLimitation.addFocusListener(new FocusListener(){
    @Override public void focusGained(    FocusEvent e){
    }
    @Override public void focusLost(    FocusEvent e){
      commonNodesLimitation.setText(String.valueOf(TreePopulator.getLimit()));
    }
  }
);
  group=Form.createGroup(this,1,"String_Node_Str",220);
  Composite compositeFileViewer=Form.startNewDimensionnedGridLayout(group,1,WIDTH_GRIDDATA_PIXEL,220);
  GridData gridData=new GridData(GridData.FILL_BOTH);
  gridData.minimumWidth=WIDTH_GRIDDATA_PIXEL;
  availableJSONTree=new Tree(compositeFileViewer,SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
  availableJSONTree.setLayoutData(gridData);
  if (!isInWizard()) {
    Composite compositeBottomButton=Form.startNewGridLayout(this,2,false,SWT.CENTER,SWT.CENTER);
    cancelButton=new UtilsButton(compositeBottomButton,"String_Node_Str",WIDTH_BUTTON_PIXEL,HEIGHT_BUTTON_PIXEL);
  }
  addUtilsButtonListeners();
}