Program: 125143
Project: 125143
Buggy source:
@Override public void createPartControl(Composite parent){
  this.parent=parent;
  parent.setLayout(new FillLayout());
  sash=new SashForm(parent,SWT.HORIZONTAL | SWT.SMOOTH);
  sash.setLayoutData(new GridData(GridData.FILL_BOTH));
  sash.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
  GridLayout layout=new GridLayout();
  sash.setLayout(layout);
  createLeftContents(sash);
  createRightContents(sash);
  tabFactory.getTabComposite().layout();
  tabFactory.getTabbedPropertyComposite().getComposite().dispose();
  tabFactory.getTabbedPropertyComposite().pack();
  tabFactory.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      IStructuredSelection selection=(IStructuredSelection)event.getSelection();
      TalendPropertyTabDescriptor descriptor=(TalendPropertyTabDescriptor)selection.getFirstElement();
      if (descriptor == null) {
        return;
      }
      if (currentSelectedTab != null && (currentSelectedTab.getCategory() != descriptor.getCategory())) {
        for (        Control curControl : tabFactory.getTabComposite().getChildren()) {
          curControl.dispose();
        }
      }
      if (currentSelectedTab == null || currentSelectedTab.getCategory() != descriptor.getCategory() || selectedPrimary) {
        currentSelectedTab=descriptor;
        createDynamicComposite(tabFactory.getTabComposite(),(Element)descriptor.getData(),descriptor.getCategory());
        selectedPrimary=false;
      }
    }
  }
);
  setElement();
}

Fixed version (ground truth):
@Override public void createPartControl(Composite parent){
  this.parent=parent;
  parent.setLayout(new FillLayout());
  sash=new SashForm(parent,SWT.HORIZONTAL | SWT.SMOOTH);
  sash.setLayoutData(new GridData(GridData.FILL_BOTH));
  sash.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
  GridLayout layout=new GridLayout();
  sash.setLayout(layout);
  createLeftContents(sash);
  createRightContents(sash);
  tabFactory.getTabComposite().layout();
  tabFactory.getTabbedPropertyComposite().getComposite().dispose();
  tabFactory.getTabbedPropertyComposite().pack();
  tabFactory.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      IStructuredSelection selection=(IStructuredSelection)event.getSelection();
      TalendPropertyTabDescriptor descriptor=(TalendPropertyTabDescriptor)selection.getFirstElement();
      if (descriptor == null) {
        return;
      }
      if (currentSelectedTab != null && (currentSelectedTab.getCategory() != descriptor.getCategory())) {
        for (        Control curControl : tabFactory.getTabComposite().getChildren()) {
          curControl.dispose();
        }
      }
      if (currentSelectedTab == null || currentSelectedTab.getCategory() != descriptor.getCategory() || selectedPrimary) {
        currentSelectedTab=descriptor;
        createDynamicComposite(tabFactory.getTabComposite(),(Element)descriptor.getData(),descriptor.getCategory());
        selectedPrimary=false;
      }
      refresh();
    }
  }
);
  setElement();
}