Program: 148646
Project: 148646
Buggy source:
private void createInput(){
  Composite inputComposite=toolkit.createComposite(mainComposite,SWT.BORDER);
  inputComposite.setLayoutData(new GridData(SWT.FILL,SWT.RIGHT,true,true,1,1));
  inputComposite.setLayout(new GridLayout(3,false));
  LabelCombo inputV=new LabelCombo(toolkit,inputComposite,"String_Node_Str",SWT.BORDER,1);
  inputVariables=inputV.getCombo();
  inputVariables.addKeyListener(variableListener);
  inputVariables.getTabList()[0].addMouseTrackListener(mouseListener);
  inputLinkButton=toolkit.createButton(inputComposite,"String_Node_Str",SWT.PUSH | SWT.CENTER);
  inputLinkButton.setImage(ImageCache.getCreatedImage(EImage.SYNCED.getPath()));
  inputLinkButton.setToolTipText("String_Node_Str");
  inputLinkButton.setToolTipText("String_Node_Str");
  inputLinkButton.setLayoutData(new GridData(SWT.FILL,SWT.CENTER,false,false,1,1));
  inputLinkButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      if (inputParams.getText().length() == 0)       return;
      java.util.List<WSTransformerVariablesMapping> items=(java.util.List<WSTransformerVariablesMapping>)inputViewer.getInput();
      if (isExist(items,inputParams.getText()))       return;
      WSTransformerVariablesMapping line=new WSTransformerVariablesMapping();
      if (inputVariables.getText().trim().length() > 0)       line.setPipelineVariable(inputVariables.getText());
 else       line.setPipelineVariable(DEFAULT_VAR);
      if (inputParams.getText().trim().length() > 0)       line.setPluginVariable(inputParams.getText());
      items.add(line);
      processStep.setInputMappings(items.toArray(new WSTransformerVariablesMapping[items.size()]));
      inputViewer.refresh();
      if (line.getPipelineVariable() != null)       availableVariables.add(line.getPipelineVariable());
      outputVariables.setItems(availableVariables.toArray(new String[availableVariables.size()]));
      markDirty();
    }
  }
);
  LabelCombo inputP=new LabelCombo(toolkit,inputComposite,"String_Node_Str",SWT.BORDER | SWT.READ_ONLY,1);
  inputParams=inputP.getCombo();
  java.util.List<String> columns=new ArrayList<String>();
  columns.add("String_Node_Str");
  columns.add("String_Node_Str");
  inputViewer=createViewer(columns,inputComposite,true);
  wrap.Wrap(TransformerMainPage.this,inputViewer);
}

Fixed version (ground truth):
private void createInput(){
  Composite inputComposite=toolkit.createComposite(mainComposite,SWT.BORDER);
  inputComposite.setLayoutData(new GridData(SWT.FILL,SWT.RIGHT,true,true,1,1));
  inputComposite.setLayout(new GridLayout(3,false));
  LabelCombo inputV=new LabelCombo(toolkit,inputComposite,"String_Node_Str",SWT.BORDER,1);
  inputVariables=inputV.getCombo();
  inputVariables.addKeyListener(variableListener);
  inputVariables.getTabList()[0].addMouseTrackListener(mouseListener);
  inputLinkButton=toolkit.createButton(inputComposite,"String_Node_Str",SWT.PUSH | SWT.CENTER);
  inputLinkButton.setImage(ImageCache.getCreatedImage(EImage.SYNCED.getPath()));
  inputLinkButton.setToolTipText("String_Node_Str");
  inputLinkButton.setToolTipText("String_Node_Str");
  inputLinkButton.setLayoutData(new GridData(SWT.FILL,SWT.CENTER,false,false,1,1));
  inputLinkButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      if (inputParams.getText().length() == 0)       return;
      java.util.List<WSTransformerVariablesMapping> items=(java.util.List<WSTransformerVariablesMapping>)inputViewer.getInput();
      if (isExist(items,inputParams.getText()))       return;
      WSTransformerVariablesMapping line=new WSTransformerVariablesMapping();
      if (inputVariables.getText().trim().length() > 0)       line.setPipelineVariable(inputVariables.getText());
 else       line.setPipelineVariable(DEFAULT_VAR);
      if (inputParams.getText().trim().length() > 0)       line.setPluginVariable(inputParams.getText());
      items.add(line);
      processStep.setInputMappings(items.toArray(new WSTransformerVariablesMapping[items.size()]));
      inputViewer.refresh();
      if (line.getPipelineVariable() != null)       availableVariables.add(line.getPipelineVariable());
      outputVariables.setItems(availableVariables.toArray(new String[availableVariables.size()]));
      markDirtyWithoutCommit();
    }
  }
);
  LabelCombo inputP=new LabelCombo(toolkit,inputComposite,"String_Node_Str",SWT.BORDER | SWT.READ_ONLY,1);
  inputParams=inputP.getCombo();
  java.util.List<String> columns=new ArrayList<String>();
  columns.add("String_Node_Str");
  columns.add("String_Node_Str");
  inputViewer=createViewer(columns,inputComposite,true);
  wrap.Wrap(TransformerMainPage.this,inputViewer);
}