Program: 12093
Project: 12093
Buggy source:
public void createControl(Composite parent){
  Composite result=new Composite(parent,SWT.NONE);
  setControl(result);
  GridLayout gridLayout=new GridLayout(6,true);
  result.setLayout(gridLayout);
  Label methodLeftName=new Label(result,SWT.WRAP);
  methodLeftName.setText(mapper.getPDG1().getMethod().toString());
  methodLeftName.setFont(new Font(parent.getDisplay(),new FontData("String_Node_Str",9,SWT.NORMAL)));
  GridData methodLeftNameGridData=new GridData(SWT.LEFT,SWT.FILL,true,false);
  methodLeftNameGridData.horizontalSpan=3;
  methodLeftName.setLayoutData(methodLeftNameGridData);
  Label methodRightName=new Label(result,SWT.WRAP);
  methodRightName.setText(mapper.getPDG2().getMethod().toString());
  methodRightName.setFont(new Font(parent.getDisplay(),new FontData("String_Node_Str",9,SWT.NORMAL)));
  GridData methodRightNameGridData=new GridData(SWT.LEFT,SWT.FILL,true,false);
  methodRightNameGridData.horizontalSpan=3;
  methodRightName.setLayoutData(methodRightNameGridData);
  final TreeViewer treeViewerLeft=new TreeViewer(result,SWT.PUSH | SWT.V_SCROLL | SWT.H_SCROLL);
  treeViewerLeft.setLabelProvider(new CloneDiffStyledLabelProvider(CloneDiffSide.LEFT));
  treeViewerLeft.setContentProvider(new CloneDiffContentProvider());
  treeViewerLeft.setInput(new CloneStructureNode[]{cloneStructureRoot});
  treeViewerLeft.getTree().setLinesVisible(true);
  treeViewerLeft.expandAll();
  GridData treeLeftGridData=new GridData(SWT.FILL,SWT.FILL,true,true);
  treeLeftGridData.horizontalAlignment=SWT.FILL;
  treeLeftGridData.verticalAlignment=SWT.FILL;
  treeLeftGridData.horizontalSpan=3;
  treeViewerLeft.getTree().setLayoutData(treeLeftGridData);
  final TreeViewer treeViewerRight=new TreeViewer(result,SWT.PUSH | SWT.V_SCROLL | SWT.H_SCROLL);
  treeViewerRight.setLabelProvider(new CloneDiffStyledLabelProvider(CloneDiffSide.RIGHT));
  treeViewerRight.setContentProvider(new CloneDiffContentProvider());
  treeViewerRight.setInput(new CloneStructureNode[]{cloneStructureRoot});
  treeViewerRight.getTree().setLinesVisible(true);
  treeViewerRight.expandAll();
  GridData treeRightGridData=new GridData(SWT.FILL,SWT.FILL,true,true);
  treeRightGridData.horizontalAlignment=SWT.FILL;
  treeRightGridData.verticalAlignment=SWT.FILL;
  treeRightGridData.horizontalSpan=3;
  treeViewerRight.getTree().setLayoutData(treeRightGridData);
  final Group legend=new Group(result,SWT.SHADOW_NONE);
  legend.setText("String_Node_Str");
  GridData legendGridData=new GridData(SWT.LEFT,SWT.FILL,true,false);
  legendGridData.horizontalSpan=2;
  legendGridData.verticalSpan=5;
  legend.setLayoutData(legendGridData);
  GridLayout legendLayout=new GridLayout();
  legendLayout.numColumns=2;
  legend.setLayout(legendLayout);
  CLabel unmappedStatementsLegendColor=new CLabel(legend,SWT.NONE);
  unmappedStatementsLegendColor.setText("String_Node_Str");
  unmappedStatementsLegendColor.setBackground(new Color(null,255,156,156));
  CLabel unmappedStatementsLegendLabel=new CLabel(legend,SWT.NONE);
  unmappedStatementsLegendLabel.setText("String_Node_Str");
  CLabel differencesLegendColor=new CLabel(legend,SWT.NONE);
  differencesLegendColor.setText("String_Node_Str");
  differencesLegendColor.setBackground(new Color(null,255,255,200));
  CLabel differencesLegendLabel=new CLabel(legend,SWT.NONE);
  differencesLegendLabel.setText("String_Node_Str");
  @SuppressWarnings("String_Node_Str") CloneDiffTooltip tooltipLeft=new CloneDiffTooltip(treeViewerLeft,ToolTip.NO_RECREATE,false);
  @SuppressWarnings("String_Node_Str") CloneDiffTooltip tooltipRight=new CloneDiffTooltip(treeViewerRight,ToolTip.NO_RECREATE,false);
  treeViewerLeft.addPostSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      if (!correspondingTreeAlreadyChanged) {
        TreeSelection treeSelection=(TreeSelection)event.getSelection();
        correspondingTreeAlreadyChanged=true;
        treeViewerRight.setSelection(treeSelection);
        correspondingTreeAlreadyChanged=false;
      }
      return;
    }
  }
);
  treeViewerRight.addPostSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      if (!correspondingTreeAlreadyChanged) {
        TreeSelection treeSelection=(TreeSelection)event.getSelection();
        correspondingTreeAlreadyChanged=true;
        treeViewerLeft.setSelection(treeSelection);
        correspondingTreeAlreadyChanged=false;
      }
      return;
    }
  }
);
  treeViewerLeft.addTreeListener(new ITreeViewerListener(){
    public void treeExpanded(    TreeExpansionEvent event){
      CloneStructureNode nodeExpanded=(CloneStructureNode)event.getElement();
      treeViewerRight.expandToLevel(nodeExpanded,1);
    }
    public void treeCollapsed(    TreeExpansionEvent event){
      CloneStructureNode nodeCollapsed=(CloneStructureNode)event.getElement();
      treeViewerRight.collapseToLevel(nodeCollapsed,1);
    }
  }
);
  treeViewerRight.addTreeListener(new ITreeViewerListener(){
    public void treeExpanded(    TreeExpansionEvent event){
      CloneStructureNode nodeExpanded=(CloneStructureNode)event.getElement();
      treeViewerLeft.expandToLevel(nodeExpanded,1);
    }
    public void treeCollapsed(    TreeExpansionEvent event){
      CloneStructureNode nodeCollapsed=(CloneStructureNode)event.getElement();
      treeViewerLeft.collapseToLevel(nodeCollapsed,1);
    }
  }
);
  ScrollBar leftVertical=treeViewerLeft.getTree().getVerticalBar();
  leftVertical.addListener(SWT.Selection,new Listener(){
    public void handleEvent(    Event event){
      treeViewerRight.getTree().setTopItem(treeViewerLeft.getTree().getTopItem());
    }
  }
);
  ScrollBar rightVertical=treeViewerRight.getTree().getVerticalBar();
  rightVertical.addListener(SWT.Selection,new Listener(){
    public void handleEvent(    Event event){
      treeViewerLeft.getTree().setTopItem(treeViewerRight.getTree().getTopItem());
    }
  }
);
  final ScrollBar leftHorizontal=treeViewerLeft.getTree().getHorizontalBar();
  final ScrollBar rightHorizontal=treeViewerRight.getTree().getHorizontalBar();
  leftHorizontal.addListener(SWT.Selection,new Listener(){
    public void handleEvent(    Event event){
      rightHorizontal.setValues(leftHorizontal.getSelection(),leftHorizontal.getMinimum(),leftHorizontal.getMaximum(),leftHorizontal.getThumb(),leftHorizontal.getIncrement(),leftHorizontal.getPageIncrement());
    }
  }
);
  rightHorizontal.addListener(SWT.Selection,new Listener(){
    public void handleEvent(    Event event){
      leftHorizontal.setValues(rightHorizontal.getSelection(),rightHorizontal.getMinimum(),rightHorizontal.getMaximum(),rightHorizontal.getThumb(),rightHorizontal.getIncrement(),rightHorizontal.getPageIncrement());
    }
  }
);
}

Fixed version (ground truth):
public void createControl(Composite parent){
  Composite result=new Composite(parent,SWT.NONE);
  setControl(result);
  GridLayout gridLayout=new GridLayout(6,true);
  result.setLayout(gridLayout);
  Label methodLeftName=new Label(result,SWT.WRAP);
  methodLeftName.setText(mapper.getPDG1().getMethod().toString());
  methodLeftName.setFont(new Font(parent.getDisplay(),new FontData("String_Node_Str",9,SWT.NORMAL)));
  GridData methodLeftNameGridData=new GridData(SWT.LEFT,SWT.FILL,true,false);
  methodLeftNameGridData.horizontalSpan=3;
  methodLeftName.setLayoutData(methodLeftNameGridData);
  Label methodRightName=new Label(result,SWT.WRAP);
  methodRightName.setText(mapper.getPDG2().getMethod().toString());
  methodRightName.setFont(new Font(parent.getDisplay(),new FontData("String_Node_Str",9,SWT.NORMAL)));
  GridData methodRightNameGridData=new GridData(SWT.LEFT,SWT.FILL,true,false);
  methodRightNameGridData.horizontalSpan=3;
  methodRightName.setLayoutData(methodRightNameGridData);
  final TreeViewer treeViewerLeft=new TreeViewer(result,SWT.PUSH | SWT.V_SCROLL | SWT.H_SCROLL);
  treeViewerLeft.setLabelProvider(new CloneDiffStyledLabelProvider(CloneDiffSide.LEFT));
  treeViewerLeft.setContentProvider(new CloneDiffContentProvider());
  treeViewerLeft.setInput(new CloneStructureNode[]{cloneStructureRoot});
  treeViewerLeft.getTree().setLinesVisible(true);
  treeViewerLeft.expandAll();
  GridData treeLeftGridData=new GridData(SWT.FILL,SWT.FILL,true,true);
  treeLeftGridData.horizontalAlignment=SWT.FILL;
  treeLeftGridData.verticalAlignment=SWT.FILL;
  treeLeftGridData.horizontalSpan=3;
  treeViewerLeft.getTree().setLayoutData(treeLeftGridData);
  final TreeViewer treeViewerRight=new TreeViewer(result,SWT.PUSH | SWT.V_SCROLL | SWT.H_SCROLL);
  treeViewerRight.setLabelProvider(new CloneDiffStyledLabelProvider(CloneDiffSide.RIGHT));
  treeViewerRight.setContentProvider(new CloneDiffContentProvider());
  treeViewerRight.setInput(new CloneStructureNode[]{cloneStructureRoot});
  treeViewerRight.getTree().setLinesVisible(true);
  treeViewerRight.expandAll();
  GridData treeRightGridData=new GridData(SWT.FILL,SWT.FILL,true,true);
  treeRightGridData.horizontalAlignment=SWT.FILL;
  treeRightGridData.verticalAlignment=SWT.FILL;
  treeRightGridData.horizontalSpan=3;
  treeViewerRight.getTree().setLayoutData(treeRightGridData);
  final Group legend=new Group(result,SWT.SHADOW_NONE);
  legend.setText("String_Node_Str");
  GridData legendGridData=new GridData(SWT.LEFT,SWT.FILL,true,false);
  legendGridData.horizontalSpan=2;
  legendGridData.verticalSpan=5;
  legend.setLayoutData(legendGridData);
  GridLayout legendLayout=new GridLayout();
  legendLayout.numColumns=2;
  legend.setLayout(legendLayout);
  CLabel unmappedStatementsLegendColor=new CLabel(legend,SWT.NONE);
  unmappedStatementsLegendColor.setText("String_Node_Str");
  unmappedStatementsLegendColor.setBackground(new Color(null,255,156,156));
  CLabel unmappedStatementsLegendLabel=new CLabel(legend,SWT.NONE);
  unmappedStatementsLegendLabel.setText("String_Node_Str");
  CLabel differencesLegendColor=new CLabel(legend,SWT.NONE);
  differencesLegendColor.setText("String_Node_Str");
  differencesLegendColor.setBackground(new Color(null,255,255,200));
  CLabel differencesLegendLabel=new CLabel(legend,SWT.NONE);
  differencesLegendLabel.setText("String_Node_Str");
  Set<BindingSignaturePair> renamedVariableBindingSignaturePairs=mapper.getRenamedVariables();
  if (renamedVariableBindingSignaturePairs.size() > 0) {
    final Group renamedVariables=new Group(result,SWT.SHADOW_NONE);
    renamedVariables.setText("String_Node_Str");
    GridData renamedVariablesGridData=new GridData(SWT.LEFT,SWT.FILL,true,false);
    renamedVariablesGridData.horizontalSpan=3;
    renamedVariablesGridData.verticalSpan=5;
    renamedVariables.setLayoutData(renamedVariablesGridData);
    GridLayout renamedVariablesLayout=new GridLayout();
    renamedVariablesLayout.numColumns=3;
    renamedVariables.setLayout(renamedVariablesLayout);
    for (    BindingSignaturePair bindingSignaturePair : renamedVariableBindingSignaturePairs) {
      CLabel renamedVariableLabel=new CLabel(renamedVariables,SWT.NONE);
      String signature1=bindingSignaturePair.getSignature1().toString();
      String variable1=signature1.substring(signature1.lastIndexOf("String_Node_Str") + 1,signature1.length() - 1);
      String signature2=bindingSignaturePair.getSignature2().toString();
      String variable2=signature2.substring(signature2.lastIndexOf("String_Node_Str") + 1,signature2.length() - 1);
      renamedVariableLabel.setText(variable1 + "String_Node_Str" + variable2);
      renamedVariableLabel.setFont(new Font(parent.getDisplay(),new FontData("String_Node_Str",9,SWT.BOLD)));
    }
  }
  @SuppressWarnings("String_Node_Str") CloneDiffTooltip tooltipLeft=new CloneDiffTooltip(treeViewerLeft,ToolTip.NO_RECREATE,false);
  @SuppressWarnings("String_Node_Str") CloneDiffTooltip tooltipRight=new CloneDiffTooltip(treeViewerRight,ToolTip.NO_RECREATE,false);
  treeViewerLeft.addPostSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      if (!correspondingTreeAlreadyChanged) {
        TreeSelection treeSelection=(TreeSelection)event.getSelection();
        correspondingTreeAlreadyChanged=true;
        treeViewerRight.setSelection(treeSelection);
        correspondingTreeAlreadyChanged=false;
      }
      return;
    }
  }
);
  treeViewerRight.addPostSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      if (!correspondingTreeAlreadyChanged) {
        TreeSelection treeSelection=(TreeSelection)event.getSelection();
        correspondingTreeAlreadyChanged=true;
        treeViewerLeft.setSelection(treeSelection);
        correspondingTreeAlreadyChanged=false;
      }
      return;
    }
  }
);
  treeViewerLeft.addTreeListener(new ITreeViewerListener(){
    public void treeExpanded(    TreeExpansionEvent event){
      CloneStructureNode nodeExpanded=(CloneStructureNode)event.getElement();
      treeViewerRight.expandToLevel(nodeExpanded,1);
    }
    public void treeCollapsed(    TreeExpansionEvent event){
      CloneStructureNode nodeCollapsed=(CloneStructureNode)event.getElement();
      treeViewerRight.collapseToLevel(nodeCollapsed,1);
    }
  }
);
  treeViewerRight.addTreeListener(new ITreeViewerListener(){
    public void treeExpanded(    TreeExpansionEvent event){
      CloneStructureNode nodeExpanded=(CloneStructureNode)event.getElement();
      treeViewerLeft.expandToLevel(nodeExpanded,1);
    }
    public void treeCollapsed(    TreeExpansionEvent event){
      CloneStructureNode nodeCollapsed=(CloneStructureNode)event.getElement();
      treeViewerLeft.collapseToLevel(nodeCollapsed,1);
    }
  }
);
  ScrollBar leftVertical=treeViewerLeft.getTree().getVerticalBar();
  leftVertical.addListener(SWT.Selection,new Listener(){
    public void handleEvent(    Event event){
      treeViewerRight.getTree().setTopItem(treeViewerLeft.getTree().getTopItem());
    }
  }
);
  ScrollBar rightVertical=treeViewerRight.getTree().getVerticalBar();
  rightVertical.addListener(SWT.Selection,new Listener(){
    public void handleEvent(    Event event){
      treeViewerLeft.getTree().setTopItem(treeViewerRight.getTree().getTopItem());
    }
  }
);
  final ScrollBar leftHorizontal=treeViewerLeft.getTree().getHorizontalBar();
  final ScrollBar rightHorizontal=treeViewerRight.getTree().getHorizontalBar();
  leftHorizontal.addListener(SWT.Selection,new Listener(){
    public void handleEvent(    Event event){
      rightHorizontal.setValues(leftHorizontal.getSelection(),leftHorizontal.getMinimum(),leftHorizontal.getMaximum(),leftHorizontal.getThumb(),leftHorizontal.getIncrement(),leftHorizontal.getPageIncrement());
    }
  }
);
  rightHorizontal.addListener(SWT.Selection,new Listener(){
    public void handleEvent(    Event event){
      leftHorizontal.setValues(rightHorizontal.getSelection(),rightHorizontal.getMinimum(),rightHorizontal.getMaximum(),rightHorizontal.getThumb(),rightHorizontal.getIncrement(),rightHorizontal.getPageIncrement());
    }
  }
);
}