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

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