Program: 102145
Project: 102145
Buggy source:
/** 
 * {@inheritDoc}
 * @see org.eclipse.ui.forms.FormDialog#createFormContent(org.eclipse.ui.forms.IManagedForm)
 */
@SuppressWarnings("String_Node_Str") @Override protected void createFormContent(IManagedForm managedForm){
  this.scrolledForm=managedForm.getForm();
  this.scrolledForm.setText(this.title);
  this.scrolledForm.setImage(Activator.getDefault().getImage(MED_EDITOR));
  this.scrolledForm.setMessage(Messages.translationDialogMsg,IMessageProvider.NONE);
  FormToolkit toolkit=managedForm.getToolkit();
  toolkit.decorateFormHeading(this.scrolledForm.getForm());
  Composite body=this.scrolledForm.getBody();
  body.setLayout(new GridLayout(2,false));
  final Control cbx;
  LOCALE: {
    Label lblLocale=toolkit.createLabel(body,Messages.localeLabel,SWT.NONE);
    lblLocale.setLayoutData(new GridData(SWT.LEFT,SWT.CENTER,false,false));
    CCombo cbxLocales=new CCombo(body,COMBO_STYLE);
    this.localeError.setControl(cbxLocales);
    cbx=cbxLocales;
    toolkit.adapt(cbxLocales,true,false);
    cbxLocales.setLayoutData(new GridData(SWT.FILL,SWT.CENTER,true,false));
    ((GridData)cbxLocales.getLayoutData()).widthHint=(int)(getParentShell().getSize().x * 0.8);
    ((GridData)cbxLocales.getLayoutData()).heightHint=cbxLocales.getItemHeight() + 4;
    final List<Locale> locales=new ArrayList<Locale>(Arrays.asList(Locale.getAvailableLocales()));
    Collections.sort(locales,ExtensionConstants.LOCALE_COMPARATOR);
    for (    Locale locale : locales) {
      cbxLocales.add(locale.getDisplayName());
    }
    if (isEditMode()) {
      String current=this.translationBeingEdited.getLocale().getDisplayName();
      int index=cbxLocales.indexOf(current);
      if (index != -1) {
        cbxLocales.select(index);
      }
    }
    cbxLocales.addSelectionListener(new SelectionAdapter(){
      /** 
 * {@inheritDoc}
 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
 */
      @Override public void widgetSelected(      SelectionEvent e){
        int index=((CCombo)e.widget).getSelectionIndex();
        handleLocaleChanged(locales.get(index));
      }
    }
);
    final LocaleProposalProvider proposalProvider=new LocaleProposalProvider(cbxLocales);
    proposalProvider.init();
  }
  TRANSLATION: {
    Label lblTranslation=toolkit.createLabel(body,Messages.translationLabel,SWT.NONE);
    lblTranslation.setLayoutData(new GridData(SWT.LEFT,SWT.TOP,false,false));
    Text txtTranslation=toolkit.createText(body,null,SWT.BORDER | SWT.MULTI | SWT.H_SCROLL| SWT.V_SCROLL| SWT.WRAP);
    this.translationError.setControl(txtTranslation);
    txtTranslation.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true));
    ((GridData)txtTranslation.getLayoutData()).verticalIndent+=((GridLayout)body.getLayout()).verticalSpacing;
    ((GridData)txtTranslation.getLayoutData()).heightHint=txtTranslation.getLineHeight() * 3;
    ((GridData)txtTranslation.getLayoutData()).widthHint=(int)(getParentShell().getSize().x * 0.8);
    if (isEditMode()) {
      txtTranslation.setText(this.translationBeingEdited.getTranslation());
    }
    txtTranslation.addModifyListener(new ModifyListener(){
      /** 
 * {@inheritDoc}
 * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
 */
      @Override public void modifyText(      ModifyEvent e){
        handleTranslationChanged(((Text)e.widget).getText());
      }
    }
);
  }
}

Fixed version (ground truth):
/** 
 * {@inheritDoc}
 * @see org.eclipse.ui.forms.FormDialog#createFormContent(org.eclipse.ui.forms.IManagedForm)
 */
@SuppressWarnings("String_Node_Str") @Override protected void createFormContent(IManagedForm managedForm){
  this.scrolledForm=managedForm.getForm();
  this.scrolledForm.setText(this.title);
  this.scrolledForm.setImage(Activator.getDefault().getImage(MED_EDITOR));
  this.scrolledForm.setMessage(Messages.translationDialogMsg,IMessageProvider.NONE);
  FormToolkit toolkit=managedForm.getToolkit();
  toolkit.decorateFormHeading(this.scrolledForm.getForm());
  Composite body=this.scrolledForm.getBody();
  body.setLayout(new GridLayout(2,false));
  final Control cbx;
  LOCALE: {
    Label lblLocale=toolkit.createLabel(body,Messages.localeLabel,SWT.NONE);
    lblLocale.setLayoutData(new GridData(SWT.LEFT,SWT.CENTER,false,false));
    CCombo cbxLocales=new CCombo(body,COMBO_STYLE);
    this.localeError.setControl(cbxLocales);
    cbx=cbxLocales;
    toolkit.adapt(cbxLocales,true,false);
    cbxLocales.setLayoutData(new GridData(SWT.FILL,SWT.CENTER,true,false));
    ((GridData)cbxLocales.getLayoutData()).widthHint=(int)(getParentShell().getSize().x * 0.8);
    ((GridData)cbxLocales.getLayoutData()).heightHint=cbxLocales.getItemHeight() + 4;
    final List<Locale> locales=new ArrayList<Locale>(Arrays.asList(Locale.getAvailableLocales()));
    Collections.sort(locales,ExtensionConstants.LOCALE_COMPARATOR);
    for (    Locale locale : locales) {
      cbxLocales.add(locale.getDisplayName());
    }
    if (isEditMode()) {
      String current=this.translationBeingEdited.getLocale().getDisplayName();
      int index=cbxLocales.indexOf(current);
      if (index != -1) {
        cbxLocales.select(index);
      }
    }
    cbxLocales.addSelectionListener(new SelectionAdapter(){
      /** 
 * {@inheritDoc}
 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
 */
      @Override public void widgetSelected(      SelectionEvent e){
        int index=((CCombo)e.widget).getSelectionIndex();
        handleLocaleChanged(locales.get(index));
      }
    }
);
    cbxLocales.addKeyListener(new KeyListener(){
      @Override public void keyReleased(      KeyEvent e){
        if (e.keyCode == 13) {
          int index=((CCombo)e.widget).getSelectionIndex();
          handleLocaleChanged(locales.get(index));
        }
      }
      @Override public void keyPressed(      KeyEvent e){
      }
    }
);
    cbxLocales.addFocusListener(new FocusListener(){
      @Override public void focusLost(      FocusEvent e){
        int index=((CCombo)e.widget).getSelectionIndex();
        if (!locales.isEmpty() && index > 0 && index < locales.size()) {
          handleLocaleChanged(locales.get(index));
        }
      }
      @Override public void focusGained(      FocusEvent e){
      }
    }
);
    final LocaleProposalProvider proposalProvider=new LocaleProposalProvider(cbxLocales);
    proposalProvider.init();
  }
  TRANSLATION: {
    Label lblTranslation=toolkit.createLabel(body,Messages.translationLabel,SWT.NONE);
    lblTranslation.setLayoutData(new GridData(SWT.LEFT,SWT.TOP,false,false));
    Text txtTranslation=toolkit.createText(body,null,SWT.BORDER | SWT.MULTI | SWT.H_SCROLL| SWT.V_SCROLL| SWT.WRAP);
    this.translationError.setControl(txtTranslation);
    txtTranslation.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true));
    ((GridData)txtTranslation.getLayoutData()).verticalIndent+=((GridLayout)body.getLayout()).verticalSpacing;
    ((GridData)txtTranslation.getLayoutData()).heightHint=txtTranslation.getLineHeight() * 3;
    ((GridData)txtTranslation.getLayoutData()).widthHint=(int)(getParentShell().getSize().x * 0.8);
    if (isEditMode()) {
      txtTranslation.setText(this.translationBeingEdited.getTranslation());
    }
    txtTranslation.addModifyListener(new ModifyListener(){
      /** 
 * {@inheritDoc}
 * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
 */
      @Override public void modifyText(      ModifyEvent e){
        handleTranslationChanged(((Text)e.widget).getText());
      }
    }
);
  }
}