Program: 136074
Project: 136074
Buggy source:
/** 
 * Creates the UI
 */
protected void createBodyContent(IManagedForm managedForm){
  DataBindingManager dm=getDataBindingManager();
  int sectionFlags=Section.TITLE_BAR | Section.DESCRIPTION | Section.TREE_NODE;
  FormToolkit toolkit=managedForm.getToolkit();
  Composite body=managedForm.getForm().getBody();
  GridData gd;
  TableWrapData twd;
  Composite left=toolkit.createComposite(body);
  twd=new TableWrapData(TableWrapData.FILL_GRAB);
  twd.grabHorizontal=true;
  left.setLayout(new GridLayout(1,false));
  left.setLayoutData(twd);
  Composite right=toolkit.createComposite(body);
  twd=new TableWrapData(TableWrapData.FILL_GRAB);
  twd.grabHorizontal=true;
  right.setLayoutData(twd);
  right.setLayout(new GridLayout(1,false));
  Section section;
  section=FormHelper.createSectionComposite(left,"String_Node_Str","String_Node_Str",toolkit,sectionFlags,getExpansionListener());
  ValidateableSectionPart newDefinitionsPart=new ValidateableSectionPart(section,this,SEC_NEW_DEFINITION);
  managedForm.addPart(newDefinitionsPart);
  DirtyMarkingListener newDefinitionsListener=new DirtyMarkingListener(newDefinitionsPart,true);
  gd=new GridData(GridData.FILL_HORIZONTAL);
  gd.horizontalSpan=3;
  section.setLayoutData(gd);
  Composite newDefinitionsArea=(Composite)section.getClient();
  newDefinitionsSource=FormHelper.createFormsSourceViewer(toolkit,newDefinitionsArea,SWT.V_SCROLL);
  twd=new TableWrapData(TableWrapData.FILL);
  twd.heightHint=60;
  twd.grabHorizontal=true;
  newDefinitionsSource.getTextWidget().setLayoutData(twd);
  newDefinitionsSource.addTextListener(newDefinitionsListener);
  dm.bindAttribute(MODEL_PARAMETER_NEW_DEFINITIONS,newDefinitionsSource,newDefinitionsPart);
  ValidateableOverridesSectionPart definitionsPart=new ValidateableOverridesSectionPart(right,"String_Node_Str","String_Node_Str",toolkit,sectionFlags,this);
  managedForm.addPart(definitionsPart);
  gd=new GridData(GridData.FILL_HORIZONTAL);
  definitionsPart.getSection().setLayoutData(gd);
  gd=new GridData(GridData.FILL_BOTH);
  gd.widthHint=100;
  gd.verticalSpan=3;
  definitionsPart.getTableViewer().getTable().setLayoutData(gd);
  definitionsTable=definitionsPart.getTableViewer();
  dm.bindAttribute(MODEL_PARAMETER_DEFINITIONS,definitionsTable,definitionsPart);
  section=FormHelper.createSectionComposite(left,"String_Node_Str","String_Node_Str",toolkit,sectionFlags,getExpansionListener());
  ValidateableSectionPart constraintPart=new ValidateableSectionPart(section,this,SEC_STATE_CONSTRAINT);
  managedForm.addPart(constraintPart);
  DirtyMarkingListener constraintListener=new DirtyMarkingListener(constraintPart,true);
  gd=new GridData(GridData.FILL_HORIZONTAL);
  gd.horizontalSpan=3;
  section.setLayoutData(gd);
  Composite constraintArea=(Composite)section.getClient();
  constraintSource=FormHelper.createFormsSourceViewer(toolkit,constraintArea,SWT.V_SCROLL);
  twd=new TableWrapData(TableWrapData.FILL);
  twd.heightHint=60;
  twd.grabHorizontal=true;
  constraintSource.getTextWidget().setLayoutData(twd);
  constraintSource.addTextListener(constraintListener);
  dm.bindAttribute(MODEL_PARAMETER_CONSTRAINT,constraintSource,constraintPart);
  section=FormHelper.createSectionComposite(right,"String_Node_Str","String_Node_Str",toolkit,sectionFlags,getExpansionListener());
  ValidateableSectionPart actionConstraintPart=new ValidateableSectionPart(section,this,SEC_ACTION_CONSTRAINT);
  managedForm.addPart(actionConstraintPart);
  DirtyMarkingListener actionConstraintListener=new DirtyMarkingListener(actionConstraintPart,true);
  gd=new GridData(GridData.FILL_HORIZONTAL);
  gd.horizontalSpan=3;
  section.setLayoutData(gd);
  Composite actionConstraintArea=(Composite)section.getClient();
  actionConstraintSource=FormHelper.createFormsSourceViewer(toolkit,actionConstraintArea,SWT.V_SCROLL);
  twd=new TableWrapData(TableWrapData.FILL);
  twd.heightHint=60;
  twd.grabHorizontal=true;
  actionConstraintSource.getTextWidget().setLayoutData(twd);
  actionConstraintSource.addTextListener(actionConstraintListener);
  dm.bindAttribute(MODEL_PARAMETER_ACTION_CONSTRAINT,actionConstraintSource,actionConstraintPart);
  section=FormHelper.createSectionComposite(left,"String_Node_Str","String_Node_Str",toolkit,sectionFlags,getExpansionListener());
  ValidateableSectionPart modelValuesPart=new ValidateableSectionPart(section,this,SEC_MODEL_VALUES);
  managedForm.addPart(modelValuesPart);
  DirtyMarkingListener modelValuesListener=new DirtyMarkingListener(modelValuesPart,true);
  gd=new GridData(GridData.FILL_HORIZONTAL);
  gd.horizontalSpan=3;
  section.setLayoutData(gd);
  Composite modelValueArea=(Composite)section.getClient();
  modelValuesSource=FormHelper.createFormsSourceViewer(toolkit,modelValueArea,SWT.V_SCROLL);
  twd=new TableWrapData(TableWrapData.FILL);
  twd.heightHint=60;
  twd.grabHorizontal=true;
  modelValuesSource.getTextWidget().setLayoutData(twd);
  modelValuesSource.addTextListener(modelValuesListener);
  dm.bindAttribute(MODEL_PARAMETER_MODEL_VALUES,modelValuesSource,modelValuesPart);
  section=createAdvancedLaunchSection(toolkit,right,sectionFlags);
  ValidateableSectionPart launchPart=new ValidateableSectionPart(section,this,SEC_LAUNCHING_SETUP);
  managedForm.addPart(launchPart);
  DirtyMarkingListener launchListener=new DirtyMarkingListener(launchPart,true);
  simuArilText.addModifyListener(launchListener);
  simuSeedText.addModifyListener(launchListener);
  simuDepthText.addModifyListener(launchListener);
  dfidDepthText.addModifyListener(launchListener);
  simulationOption.addSelectionListener(launchListener);
  dfidOption.addSelectionListener(launchListener);
  mcOption.addSelectionListener(launchListener);
  viewSource.addTextListener(launchListener);
  dirtyPartListeners.add(newDefinitionsListener);
  dirtyPartListeners.add(actionConstraintListener);
  dirtyPartListeners.add(modelValuesListener);
  dirtyPartListeners.add(constraintListener);
  dirtyPartListeners.add(launchListener);
}

Fixed version (ground truth):
/** 
 * Creates the UI
 */
protected void createBodyContent(IManagedForm managedForm){
  DataBindingManager dm=getDataBindingManager();
  int sectionFlags=Section.TITLE_BAR | Section.DESCRIPTION | Section.TREE_NODE;
  FormToolkit toolkit=managedForm.getToolkit();
  Composite body=managedForm.getForm().getBody();
  GridData gd;
  TableWrapData twd;
  Composite left=toolkit.createComposite(body);
  twd=new TableWrapData(TableWrapData.FILL_GRAB);
  twd.grabHorizontal=true;
  left.setLayout(new GridLayout(1,false));
  left.setLayoutData(twd);
  Composite right=toolkit.createComposite(body);
  twd=new TableWrapData(TableWrapData.FILL_GRAB);
  twd.grabHorizontal=true;
  right.setLayoutData(twd);
  right.setLayout(new GridLayout(1,false));
  Section section;
  section=FormHelper.createSectionComposite(left,"String_Node_Str","String_Node_Str",toolkit,sectionFlags,getExpansionListener());
  ValidateableSectionPart newDefinitionsPart=new ValidateableSectionPart(section,this,SEC_NEW_DEFINITION);
  managedForm.addPart(newDefinitionsPart);
  DirtyMarkingListener newDefinitionsListener=new DirtyMarkingListener(newDefinitionsPart,true);
  gd=new GridData(GridData.FILL_HORIZONTAL);
  gd.horizontalSpan=3;
  section.setLayoutData(gd);
  Composite newDefinitionsArea=(Composite)section.getClient();
  newDefinitionsSource=FormHelper.createFormsSourceViewer(toolkit,newDefinitionsArea,SWT.V_SCROLL);
  twd=new TableWrapData(TableWrapData.FILL);
  twd.heightHint=60;
  twd.grabHorizontal=true;
  newDefinitionsSource.getTextWidget().setLayoutData(twd);
  newDefinitionsSource.addTextListener(newDefinitionsListener);
  dm.bindAttribute(MODEL_PARAMETER_NEW_DEFINITIONS,newDefinitionsSource,newDefinitionsPart);
  ValidateableOverridesSectionPart definitionsPart=new ValidateableOverridesSectionPart(right,"String_Node_Str","String_Node_Str",toolkit,sectionFlags,this);
  managedForm.addPart(definitionsPart);
  gd=new GridData(GridData.FILL_HORIZONTAL);
  definitionsPart.getSection().setLayoutData(gd);
  gd=new GridData(GridData.FILL_BOTH);
  gd.widthHint=100;
  gd.verticalSpan=3;
  definitionsPart.getTableViewer().getTable().setLayoutData(gd);
  definitionsTable=definitionsPart.getTableViewer();
  dm.bindSection(definitionsPart,DEF_OVERRIDES_PART,this.getId());
  dm.bindAttribute(MODEL_PARAMETER_DEFINITIONS,definitionsTable,definitionsPart);
  section=FormHelper.createSectionComposite(left,"String_Node_Str","String_Node_Str",toolkit,sectionFlags,getExpansionListener());
  ValidateableSectionPart constraintPart=new ValidateableSectionPart(section,this,SEC_STATE_CONSTRAINT);
  managedForm.addPart(constraintPart);
  DirtyMarkingListener constraintListener=new DirtyMarkingListener(constraintPart,true);
  gd=new GridData(GridData.FILL_HORIZONTAL);
  gd.horizontalSpan=3;
  section.setLayoutData(gd);
  Composite constraintArea=(Composite)section.getClient();
  constraintSource=FormHelper.createFormsSourceViewer(toolkit,constraintArea,SWT.V_SCROLL);
  twd=new TableWrapData(TableWrapData.FILL);
  twd.heightHint=60;
  twd.grabHorizontal=true;
  constraintSource.getTextWidget().setLayoutData(twd);
  constraintSource.addTextListener(constraintListener);
  dm.bindAttribute(MODEL_PARAMETER_CONSTRAINT,constraintSource,constraintPart);
  section=FormHelper.createSectionComposite(right,"String_Node_Str","String_Node_Str",toolkit,sectionFlags,getExpansionListener());
  ValidateableSectionPart actionConstraintPart=new ValidateableSectionPart(section,this,SEC_ACTION_CONSTRAINT);
  managedForm.addPart(actionConstraintPart);
  DirtyMarkingListener actionConstraintListener=new DirtyMarkingListener(actionConstraintPart,true);
  gd=new GridData(GridData.FILL_HORIZONTAL);
  gd.horizontalSpan=3;
  section.setLayoutData(gd);
  Composite actionConstraintArea=(Composite)section.getClient();
  actionConstraintSource=FormHelper.createFormsSourceViewer(toolkit,actionConstraintArea,SWT.V_SCROLL);
  twd=new TableWrapData(TableWrapData.FILL);
  twd.heightHint=60;
  twd.grabHorizontal=true;
  actionConstraintSource.getTextWidget().setLayoutData(twd);
  actionConstraintSource.addTextListener(actionConstraintListener);
  dm.bindAttribute(MODEL_PARAMETER_ACTION_CONSTRAINT,actionConstraintSource,actionConstraintPart);
  section=FormHelper.createSectionComposite(left,"String_Node_Str","String_Node_Str",toolkit,sectionFlags,getExpansionListener());
  ValidateableSectionPart modelValuesPart=new ValidateableSectionPart(section,this,SEC_MODEL_VALUES);
  managedForm.addPart(modelValuesPart);
  DirtyMarkingListener modelValuesListener=new DirtyMarkingListener(modelValuesPart,true);
  gd=new GridData(GridData.FILL_HORIZONTAL);
  gd.horizontalSpan=3;
  section.setLayoutData(gd);
  Composite modelValueArea=(Composite)section.getClient();
  modelValuesSource=FormHelper.createFormsSourceViewer(toolkit,modelValueArea,SWT.V_SCROLL);
  twd=new TableWrapData(TableWrapData.FILL);
  twd.heightHint=60;
  twd.grabHorizontal=true;
  modelValuesSource.getTextWidget().setLayoutData(twd);
  modelValuesSource.addTextListener(modelValuesListener);
  dm.bindAttribute(MODEL_PARAMETER_MODEL_VALUES,modelValuesSource,modelValuesPart);
  section=createAdvancedLaunchSection(toolkit,right,sectionFlags);
  ValidateableSectionPart launchPart=new ValidateableSectionPart(section,this,SEC_LAUNCHING_SETUP);
  managedForm.addPart(launchPart);
  DirtyMarkingListener launchListener=new DirtyMarkingListener(launchPart,true);
  simuArilText.addModifyListener(launchListener);
  simuSeedText.addModifyListener(launchListener);
  simuDepthText.addModifyListener(launchListener);
  dfidDepthText.addModifyListener(launchListener);
  simulationOption.addSelectionListener(launchListener);
  dfidOption.addSelectionListener(launchListener);
  mcOption.addSelectionListener(launchListener);
  viewSource.addTextListener(launchListener);
  dirtyPartListeners.add(newDefinitionsListener);
  dirtyPartListeners.add(actionConstraintListener);
  dirtyPartListeners.add(modelValuesListener);
  dirtyPartListeners.add(constraintListener);
  dirtyPartListeners.add(launchListener);
}