protected void init() {
    aggregateStatus =
        new AggregateValidationStatus(dbc.getBindings(), AggregateValidationStatus.MAX_SEVERITY);
    aggregateStatus.addValueChangeListener(
        new IValueChangeListener() {
          public void handleValueChange(ValueChangeEvent event) {

            currentStatus = (IStatus) event.diff.getNewValue();
            handleStatusChanged();
          }
        });
    currentStatus = (IStatus) aggregateStatus.getValue();
    handleStatusChanged();
    dbc.getBindings().addListChangeListener(bindingsListener);
    for (Iterator it = dbc.getBindings().iterator(); it.hasNext(); ) {
      Binding binding = (Binding) it.next();
      binding.getTarget().addChangeListener(uiChangeListener);
    }
  }