Program: 127948
Project: 127948
Buggy source:
@Override protected Control createDialogArea(Composite parent){
  GridData layoutData=new GridData(GridData.FILL_BOTH);
  Composite composite=new Composite(parent,SWT.BORDER);
  GridLayout layout=new GridLayout();
  composite.setLayout(layout);
  composite.setLayoutData(layoutData);
  tableViewerCreator=new TableViewerCreator(composite);
  tableViewerCreator.setCheckboxInFirstColumn(false);
  tableViewerCreator.setColumnsResizableByDefault(true);
  tableViewerCreator.setLinesVisible(true);
  tableViewerCreator.setLayoutMode(LAYOUT_MODE.CONTINUOUS);
  tableViewerCreator.createTable();
  TableViewerCreatorColumn column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle(Messages.getString("String_Node_Str"));
  column.setToolTipHeader(Messages.getString("String_Node_Str"));
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<ModuleToInstall,String>(){
    @Override public String get(    ModuleToInstall bean){
      return bean.getName();
    }
    @Override public void set(    ModuleToInstall bean,    String value){
    }
  }
);
  column.setSortable(true);
  tableViewerCreator.setDefaultSort(column,SORT.ASC);
  column.setWeight(5);
  column.setModifiable(false);
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle(Messages.getString("String_Node_Str"));
  column.setToolTipHeader(Messages.getString("String_Node_Str"));
  column.setSortable(true);
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<ModuleToInstall,String>(){
    @Override public String get(    ModuleToInstall bean){
      return bean.getDescription();
    }
    @Override public void set(    ModuleToInstall bean,    String value){
    }
  }
);
  column.setWeight(4);
  column.setModifiable(false);
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setSortable(true);
  column.setTitle(Messages.getString("String_Node_Str"));
  column.setToolTipHeader(Messages.getString("String_Node_Str"));
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<ModuleToInstall,String>(){
    @Override public String get(    ModuleToInstall bean){
      return bean.getContext();
    }
    @Override public void set(    ModuleToInstall bean,    String value){
    }
  }
);
  column.setModifiable(false);
  column.setWeight(5);
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle(Messages.getString("String_Node_Str"));
  column.setToolTipHeader(Messages.getString("String_Node_Str"));
  column.setDisplayedValue("String_Node_Str");
  column.setSortable(true);
  column.setImageProvider(new IColumnImageProvider<ModuleToInstall>(){
    @Override public Image getImage(    ModuleToInstall bean){
      if (bean.isRequired()) {
        return ImageProvider.getImage(EImage.CHECKED_ICON);
      }
 else {
        return ImageProvider.getImage(EImage.UNCHECKED_ICON);
      }
    }
  }
);
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<ModuleToInstall,Boolean>(){
    @Override public Boolean get(    ModuleToInstall bean){
      return bean.isRequired();
    }
    @Override public void set(    ModuleToInstall bean,    Boolean value){
    }
  }
);
  column.setModifiable(false);
  column.setWeight(2);
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle(Messages.getString("String_Node_Str"));
  column.setToolTipHeader(Messages.getString("String_Node_Str"));
  column.setSortable(true);
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<ModuleToInstall,String>(){
    @Override public String get(    ModuleToInstall bean){
      return bean.getLicenseType();
    }
    @Override public void set(    ModuleToInstall bean,    String value){
    }
  }
);
  column.setModifiable(false);
  column.setWeight(3);
  TableViewerCreatorColumn urlcolumn=new TableViewerCreatorColumn(tableViewerCreator);
  urlcolumn.setTitle(Messages.getString("String_Node_Str"));
  urlcolumn.setToolTipHeader(Messages.getString("String_Node_Str"));
  urlcolumn.setModifiable(false);
  urlcolumn.setSortable(true);
  urlcolumn.setWeight(7);
  TableViewerCreatorColumn installcolumn=new TableViewerCreatorColumn(tableViewerCreator);
  installcolumn.setTitle(Messages.getString("String_Node_Str"));
  installcolumn.setToolTipHeader(Messages.getString("String_Node_Str"));
  installcolumn.setModifiable(false);
  installcolumn.setSortable(true);
  installcolumn.setWeight(5);
  tableViewerCreator.init(inputList);
  addInstallButtons(installcolumn,urlcolumn);
  layoutData=new GridData(GridData.FILL_BOTH);
  tableViewerCreator.getTable().setLayoutData(layoutData);
  tableViewerCreator.getTable().pack();
  Composite footComposite=new Composite(composite,SWT.NONE);
  layoutData=new GridData(GridData.FILL_HORIZONTAL);
  footComposite.setLayoutData(layoutData);
  layout=new GridLayout();
  layout.numColumns=2;
  footComposite.setLayout(layout);
  final Link moreInfor=new Link(footComposite,SWT.NONE);
  layoutData=new GridData(GridData.FILL_HORIZONTAL);
  layoutData.widthHint=200;
  moreInfor.setText(Messages.getString("String_Node_Str"));
  moreInfor.setLayoutData(layoutData);
  moreInfor.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      Program.launch(HELP_CONTENT);
    }
  }
);
  installAllBtn=new Button(footComposite,SWT.NONE);
  installAllBtn.setText(Messages.getString("String_Node_Str"));
  List<ModuleToInstall> inputList=tableViewerCreator.getInputList();
  boolean isEnable=false;
  if (!jarsInstalledSuccuss.isEmpty()) {
    for (    ModuleToInstall module : inputList) {
      if (!jarsInstalledSuccuss.contains(module.getName()) && module.isRequired()) {
        isEnable=true;
        break;
      }
    }
  }
 else {
    for (    ModuleToInstall module : inputList) {
      if (module.isRequired()) {
        isEnable=true;
        break;
      }
    }
  }
  installAllBtn.setEnabled(isEnable);
  createFooter(composite);
  setTitle(title);
  addListeners();
  return composite;
}

Fixed version (ground truth):
@Override protected Control createDialogArea(Composite parent){
  GridData layoutData=new GridData(GridData.FILL_BOTH);
  Composite composite=new Composite(parent,SWT.BORDER);
  GridLayout layout=new GridLayout();
  composite.setLayout(layout);
  composite.setLayoutData(layoutData);
  tableViewerCreator=new TableViewerCreator(composite);
  tableViewerCreator.setCheckboxInFirstColumn(false);
  tableViewerCreator.setColumnsResizableByDefault(true);
  tableViewerCreator.setLinesVisible(true);
  tableViewerCreator.setLayoutMode(LAYOUT_MODE.CONTINUOUS);
  tableViewerCreator.createTable();
  TableViewerCreatorColumn column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle(Messages.getString("String_Node_Str"));
  column.setToolTipHeader(Messages.getString("String_Node_Str"));
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<ModuleToInstall,String>(){
    @Override public String get(    ModuleToInstall bean){
      return bean.getName();
    }
    @Override public void set(    ModuleToInstall bean,    String value){
    }
  }
);
  column.setSortable(true);
  tableViewerCreator.setDefaultSort(column,SORT.ASC);
  column.setWeight(5);
  column.setModifiable(false);
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle(Messages.getString("String_Node_Str"));
  column.setToolTipHeader(Messages.getString("String_Node_Str"));
  column.setSortable(true);
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<ModuleToInstall,String>(){
    @Override public String get(    ModuleToInstall bean){
      return bean.getDescription();
    }
    @Override public void set(    ModuleToInstall bean,    String value){
    }
  }
);
  column.setWeight(4);
  column.setModifiable(false);
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setSortable(true);
  column.setTitle(Messages.getString("String_Node_Str"));
  column.setToolTipHeader(Messages.getString("String_Node_Str"));
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<ModuleToInstall,String>(){
    @Override public String get(    ModuleToInstall bean){
      return bean.getContext();
    }
    @Override public void set(    ModuleToInstall bean,    String value){
    }
  }
);
  column.setModifiable(false);
  column.setWeight(5);
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle(Messages.getString("String_Node_Str"));
  column.setToolTipHeader(Messages.getString("String_Node_Str"));
  column.setDisplayedValue("String_Node_Str");
  column.setSortable(true);
  column.setImageProvider(new IColumnImageProvider<ModuleToInstall>(){
    @Override public Image getImage(    ModuleToInstall bean){
      if (bean.isRequired()) {
        return ImageProvider.getImage(EImage.CHECKED_ICON);
      }
 else {
        return ImageProvider.getImage(EImage.UNCHECKED_ICON);
      }
    }
  }
);
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<ModuleToInstall,Boolean>(){
    @Override public Boolean get(    ModuleToInstall bean){
      return bean.isRequired();
    }
    @Override public void set(    ModuleToInstall bean,    Boolean value){
    }
  }
);
  column.setModifiable(false);
  column.setWeight(2);
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle(Messages.getString("String_Node_Str"));
  column.setToolTipHeader(Messages.getString("String_Node_Str"));
  column.setSortable(true);
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<ModuleToInstall,String>(){
    @Override public String get(    ModuleToInstall bean){
      return bean.getLicenseType();
    }
    @Override public void set(    ModuleToInstall bean,    String value){
    }
  }
);
  column.setModifiable(false);
  column.setWeight(3);
  TableViewerCreatorColumn urlcolumn=new TableViewerCreatorColumn(tableViewerCreator);
  urlcolumn.setTitle(Messages.getString("String_Node_Str"));
  urlcolumn.setToolTipHeader(Messages.getString("String_Node_Str"));
  urlcolumn.setModifiable(false);
  urlcolumn.setSortable(true);
  urlcolumn.setWeight(7);
  TableViewerCreatorColumn installcolumn=new TableViewerCreatorColumn(tableViewerCreator);
  installcolumn.setTitle(Messages.getString("String_Node_Str"));
  installcolumn.setToolTipHeader(Messages.getString("String_Node_Str"));
  installcolumn.setModifiable(false);
  installcolumn.setSortable(true);
  installcolumn.setWeight(5);
  tableViewerCreator.init(inputList);
  addInstallButtons(installcolumn,urlcolumn);
  layoutData=new GridData(GridData.FILL_BOTH);
  tableViewerCreator.getTable().setLayoutData(layoutData);
  tableViewerCreator.getTable().pack();
  Composite footComposite=new Composite(composite,SWT.NONE);
  layoutData=new GridData(GridData.FILL_HORIZONTAL);
  footComposite.setLayoutData(layoutData);
  layout=new GridLayout();
  layout.numColumns=2;
  footComposite.setLayout(layout);
  final Link moreInfor=new Link(footComposite,SWT.NONE);
  layoutData=new GridData(GridData.FILL_HORIZONTAL);
  layoutData.widthHint=200;
  moreInfor.setText(Messages.getString("String_Node_Str"));
  moreInfor.setLayoutData(layoutData);
  moreInfor.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      Program.launch(HELP_CONTENT);
    }
  }
);
  installAllBtn=new Button(footComposite,SWT.NONE);
  installAllBtn.setText(Messages.getString("String_Node_Str"));
  List<ModuleToInstall> inputList=tableViewerCreator.getInputList();
  boolean isEnable=false;
  if (!inputList.isEmpty()) {
    for (    ModuleToInstall module : inputList) {
      if (module.getUrl_download() != null) {
        isEnable=true;
        break;
      }
    }
  }
  installAllBtn.setEnabled(isEnable);
  createFooter(composite);
  setTitle(title);
  addListeners();
  return composite;
}