Program: 52808
Project: 52808
Buggy source:
@Override protected void createFormElements(Composite editArea){
  GridDataFactory gdf=GridDataFactory.fillDefaults().align(SWT.FILL,SWT.FILL).grab(true,false);
  Label label=new Label(editArea,SWT.NONE);
  label.setText(Messages.ColumnAccountFrom);
  ComboViewer comboFrom=new ComboViewer(editArea,SWT.READ_ONLY);
  comboFrom.setContentProvider(ArrayContentProvider.getInstance());
  comboFrom.setLabelProvider(new LabelProvider(){
    @Override public String getText(    Object element){
      return ((Account)element).getName();
    }
  }
);
  comboFrom.setInput(getModel().getClient().getAccounts().toArray());
  gdf.applyTo(comboFrom.getControl());
  final IViewerObservableValue observableFrom=ViewersObservables.observeSingleSelection(comboFrom);
  label=new Label(editArea,SWT.NONE);
  label.setText(Messages.ColumnAccountTo);
  ComboViewer comboTo=new ComboViewer(editArea,SWT.READ_ONLY);
  comboTo.setContentProvider(ArrayContentProvider.getInstance());
  comboTo.setLabelProvider(new LabelProvider(){
    @Override public String getText(    Object element){
      return ((Account)element).getName();
    }
  }
);
  comboTo.setInput(getModel().getClient().getAccounts().toArray());
  gdf.applyTo(comboTo.getControl());
  final IViewerObservableValue observableTo=ViewersObservables.observeSingleSelection(comboTo);
  bindings.bindMandatoryAmountInput(editArea,Messages.ColumnAmount,"String_Node_Str");
  bindings.bindDatePicker(editArea,Messages.ColumnDate,"String_Node_Str");
  DataBindingContext context=getBindingContext();
  MultiValidator validator=new MultiValidator(){
    @Override protected IStatus validate(){
      Object from=observableFrom.getValue();
      Object to=observableTo.getValue();
      return from != null && to != null && from != to ? ValidationStatus.ok() : ValidationStatus.error(Messages.MsgAccountMustBeDifferent);
    }
  }
;
  context.addValidationStatusProvider(validator);
  context.bindValue(validator.observeValidatedValue(observableFrom),BeansObservables.observeValue(getModel(),"String_Node_Str"));
  context.bindValue(validator.observeValidatedValue(observableTo),BeansObservables.observeValue(getModel(),"String_Node_Str"));
}

Fixed version (ground truth):
@Override protected void createFormElements(Composite editArea){
  GridDataFactory gdf=GridDataFactory.fillDefaults().align(SWT.FILL,SWT.FILL).grab(true,false);
  Label label=new Label(editArea,SWT.NONE);
  label.setText(Messages.ColumnAccountFrom);
  ComboViewer comboFrom=new ComboViewer(editArea,SWT.READ_ONLY);
  comboFrom.setContentProvider(ArrayContentProvider.getInstance());
  comboFrom.setLabelProvider(new LabelProvider(){
    @Override public String getText(    Object element){
      return ((Account)element).getName();
    }
  }
);
  comboFrom.setInput(getModel().getClient().getAccounts().toArray());
  gdf.applyTo(comboFrom.getControl());
  final IViewerObservableValue observableFrom=ViewersObservables.observeSingleSelection(comboFrom);
  label=new Label(editArea,SWT.NONE);
  label.setText(Messages.ColumnAccountTo);
  ComboViewer comboTo=new ComboViewer(editArea,SWT.READ_ONLY);
  comboTo.setContentProvider(ArrayContentProvider.getInstance());
  comboTo.setLabelProvider(new LabelProvider(){
    @Override public String getText(    Object element){
      return ((Account)element).getName();
    }
  }
);
  comboTo.setInput(getModel().getClient().getAccounts().toArray());
  gdf.applyTo(comboTo.getControl());
  final IViewerObservableValue observableTo=ViewersObservables.observeSingleSelection(comboTo);
  bindings().bindMandatoryAmountInput(editArea,Messages.ColumnAmount,"String_Node_Str");
  bindings().bindDatePicker(editArea,Messages.ColumnDate,"String_Node_Str");
  DataBindingContext context=getBindingContext();
  MultiValidator validator=new MultiValidator(){
    @Override protected IStatus validate(){
      Object from=observableFrom.getValue();
      Object to=observableTo.getValue();
      return from != null && to != null && from != to ? ValidationStatus.ok() : ValidationStatus.error(Messages.MsgAccountMustBeDifferent);
    }
  }
;
  context.addValidationStatusProvider(validator);
  context.bindValue(validator.observeValidatedValue(observableFrom),BeansObservables.observeValue(getModel(),"String_Node_Str"));
  context.bindValue(validator.observeValidatedValue(observableTo),BeansObservables.observeValue(getModel(),"String_Node_Str"));
}