Program: 188250
Project: 188250
Buggy source:
/** 
 * Create a new user data panel
 * @param visible
 * @param editmode
 */
public RepresentationInformationDataPanel(boolean visible,final boolean editmode,final RepresentationInformation ri){
  relations=new IncrementalRelationList(ri);
  categories=new IncrementalList(true);
  initWidget(uiBinder.createAndBindUi(this));
  this.editmode=editmode;
  super.setVisible(visible);
  filters.setVisible(false);
  ChangeHandler changeHandler=new ChangeHandler(){
    @Override public void onChange(    ChangeEvent event){
      RepresentationInformationDataPanel.this.onChange();
    }
  }
;
  ValueChangeHandler valueChangeHandler=new ValueChangeHandler(){
    @Override public void onValueChange(    ValueChangeEvent event){
      RepresentationInformationDataPanel.this.onChange();
    }
  }
;
  KeyUpHandler keyUpHandler=new KeyUpHandler(){
    @Override public void onKeyUp(    KeyUpEvent event){
      onChange();
    }
  }
;
  name.addChangeHandler(changeHandler);
  name.addKeyUpHandler(keyUpHandler);
  description.addChangeHandler(changeHandler);
  description.addKeyUpHandler(keyUpHandler);
  ChangeHandler familyChangeHandler=new ChangeHandler(){
    @Override public void onChange(    ChangeEvent event){
      RepresentationInformationDataPanel.this.onChange();
      extras.clear();
      FormUtilities.create(extras,extraBundle.getFamilyValues().get(family.getSelectedValue()),false);
    }
  }
;
  family.addChangeHandler(familyChangeHandler);
  family.addKeyUpHandler(keyUpHandler);
  categories.addValueChangeHandler(valueChangeHandler);
  support.addChangeHandler(changeHandler);
  relations.addChangeHandler(changeHandler);
  filters.addChangeHandler(changeHandler);
  for (  RepresentationInformationSupport val : RepresentationInformationSupport.values()) {
    support.addItem(messages.representationInformationSupportValue(val.toString()),val.toString());
  }
  BrowserService.Util.getInstance().retrieveRepresentationInformationFamilyOptions(LocaleInfo.getCurrentLocale().getLocaleName(),new AsyncCallback<Map<String,String>>(){
    @Override public void onFailure(    Throwable caught){
      AsyncCallbackUtils.defaultFailureTreatment(caught);
    }
    @Override public void onSuccess(    final Map<String,String> families){
      for (      Entry<String,String> item : families.entrySet()) {
        family.addItem(item.getValue(),item.getKey());
      }
    }
  }
);
  BrowserService.Util.getInstance().retrieveObjectClassFields(LocaleInfo.getCurrentLocale().getLocaleName(),new AsyncCallback<RepresentationInformationFilterBundle>(){
    @Override public void onFailure(    Throwable caught){
      AsyncCallbackUtils.defaultFailureTreatment(caught);
    }
    @Override public void onSuccess(    RepresentationInformationFilterBundle result){
      RepresentationInformationDataPanel.this.filters.setFields(result.getObjectClassFields());
      if (editmode) {
        setRepresentationInformation(ri);
      }
 else {
        LastSelectedItemsSingleton selectedItems=LastSelectedItemsSingleton.getInstance();
        List<String> lastHistory=selectedItems.getLastHistory();
        if (lastHistory.size() > 4 && lastHistory.get(0).equals(Planning.RESOLVER.getHistoryToken()) && lastHistory.get(1).equals(RepresentationInformationNetwork.RESOLVER.getHistoryToken()) && lastHistory.get(2).equals(RepresentationInformationAssociations.RESOLVER.getHistoryToken())) {
          RepresentationInformationDataPanel.this.filters.setFilters(Collections.singletonList(lastHistory.get(lastHistory.size() - 1)));
          String[] filterParts=RepresentationInformationDialogs.breakFilterIntoParts(lastHistory.get(lastHistory.size() - 1));
          RepresentationInformationDataPanel.this.name.setText(messages.representationInformationNameFromAssociation(filterParts[0],filterParts[1],filterParts[2]));
        }
      }
    }
  }
);
}

Fixed version (ground truth):
/** 
 * Create a new user data panel
 * @param visible
 * @param editmode
 */
public RepresentationInformationDataPanel(boolean visible,final boolean editmode,final RepresentationInformation ri){
  relations=new IncrementalRelationList(ri);
  categories=new IncrementalList(true);
  initWidget(uiBinder.createAndBindUi(this));
  this.editmode=editmode;
  super.setVisible(visible);
  filters.setVisible(false);
  ChangeHandler changeHandler=new ChangeHandler(){
    @Override public void onChange(    ChangeEvent event){
      RepresentationInformationDataPanel.this.onChange();
    }
  }
;
  ValueChangeHandler valueChangeHandler=new ValueChangeHandler(){
    @Override public void onValueChange(    ValueChangeEvent event){
      RepresentationInformationDataPanel.this.onChange();
    }
  }
;
  KeyUpHandler keyUpHandler=new KeyUpHandler(){
    @Override public void onKeyUp(    KeyUpEvent event){
      onChange();
    }
  }
;
  name.addChangeHandler(changeHandler);
  name.addKeyUpHandler(keyUpHandler);
  description.addChangeHandler(changeHandler);
  description.addKeyUpHandler(keyUpHandler);
  ChangeHandler familyChangeHandler=new ChangeHandler(){
    @Override public void onChange(    ChangeEvent event){
      RepresentationInformationDataPanel.this.onChange();
      extras.clear();
      FormUtilities.create(extras,extraBundle.getFamilyValues().get(family.getSelectedValue()),false);
    }
  }
;
  family.addChangeHandler(familyChangeHandler);
  family.addKeyUpHandler(keyUpHandler);
  categories.addValueChangeHandler(valueChangeHandler);
  support.addChangeHandler(changeHandler);
  relations.addChangeHandler(changeHandler);
  filters.addChangeHandler(changeHandler);
  for (  RepresentationInformationSupport val : RepresentationInformationSupport.values()) {
    support.addItem(messages.representationInformationSupportValue(val.toString()),val.toString());
  }
  BrowserService.Util.getInstance().retrieveRepresentationInformationFamilyOptions(LocaleInfo.getCurrentLocale().getLocaleName(),new AsyncCallback<Map<String,String>>(){
    @Override public void onFailure(    Throwable caught){
      AsyncCallbackUtils.defaultFailureTreatment(caught);
    }
    @Override public void onSuccess(    final Map<String,String> families){
      for (      Entry<String,String> item : families.entrySet()) {
        family.addItem(item.getValue(),item.getKey());
      }
    }
  }
);
  BrowserService.Util.getInstance().retrieveObjectClassFields(LocaleInfo.getCurrentLocale().getLocaleName(),new AsyncCallback<RepresentationInformationFilterBundle>(){
    @Override public void onFailure(    Throwable caught){
      AsyncCallbackUtils.defaultFailureTreatment(caught);
    }
    @Override public void onSuccess(    RepresentationInformationFilterBundle result){
      RepresentationInformationDataPanel.this.filters.setFields(result.getObjectClassFields());
      if (editmode) {
        setRepresentationInformation(ri);
      }
 else {
        LastSelectedItemsSingleton selectedItems=LastSelectedItemsSingleton.getInstance();
        List<String> lastHistory=selectedItems.getLastHistory();
        if (lastHistory.size() > 4 && lastHistory.get(0).equals(Planning.RESOLVER.getHistoryToken()) && lastHistory.get(1).equals(RepresentationInformationNetwork.RESOLVER.getHistoryToken()) && lastHistory.get(2).equals(RepresentationInformationAssociations.RESOLVER.getHistoryToken())) {
          RepresentationInformationDataPanel.this.filters.setFilters(Collections.singletonList(lastHistory.get(lastHistory.size() - 1)));
          String[] filterParts=RepresentationInformationDialogs.breakFilterIntoParts(lastHistory.get(lastHistory.size() - 1));
          RepresentationInformationDataPanel.this.name.setText(messages.representationInformationNameFromAssociation(filterParts[0],filterParts[1],filterParts[2]));
        }
      }
    }
  }
);
  BrowserService.Util.getInstance().retrieveRepresentationInformationExtraBundle(ri,LocaleInfo.getCurrentLocale().getLocaleName(),new AsyncCallback<RepresentationInformationExtraBundle>(){
    @Override public void onFailure(    Throwable caught){
      AsyncCallbackUtils.defaultFailureTreatment(caught);
    }
    @Override public void onSuccess(    RepresentationInformationExtraBundle extra){
      RepresentationInformationDataPanel.this.extraBundle=extra;
      extras.clear();
      FormUtilities.create(extras,extra.getFamilyValues().get(family.getSelectedValue()),false);
    }
  }
);
}