Program: 127812
Project: 127812
Buggy source:
/** 
 * Initialize value, forceFocus first field.
 */
@Override protected void initialize(){
  treeViewer=new TreeViewer(availableXmlTree);
  treeViewer.setContentProvider(new VirtualXmlTreeNodeContentProvider(treeViewer));
  treeViewer.setLabelProvider(new VirtualXmlTreeLabelProvider());
  treeViewer.setUseHashlookup(true);
  this.treePopulator=new TreePopulator(treeViewer);
  checkFieldsValue();
  if (xmlXPathLoopDescriptor == null) {
    if (getConnection().getSchema() != null && !getConnection().getSchema().isEmpty()) {
      xmlXPathLoopDescriptor=getConnection().getSchema().get(0);
      xmlFilePath=getConnection().getXmlFilePath();
      if (isContextMode()) {
        ContextType contextType=ConnectionContextHelper.getContextTypeForContextMode(connectionItem.getConnection(),connectionItem.getConnection().getContextName());
        xmlFilePath=TalendQuoteUtils.removeQuotes(ConnectionContextHelper.getOriginalValue(contextType,xmlFilePath));
      }
    }
 else {
      xmlXPathLoopDescriptor=ConnectionFactory.eINSTANCE.createXmlXPathLoopDescriptor();
      getConnection().getSchema().add(xmlXPathLoopDescriptor);
    }
  }
  loopModel.setXmlXPathLoopDescriptor(xmlXPathLoopDescriptor);
  if (xmlXPathLoopDescriptor.getLimitBoucle() == null) {
    xmlXPathLoopDescriptor.setLimitBoucle(-1);
    XmlArray.setLimitToDefault();
    xmlXPathLoopDescriptor.setLimitBoucle(XmlArray.getRowLimit());
  }
  fieldsModel.setXmlXPathLoopDescriptor(xmlXPathLoopDescriptor.getSchemaTargets());
  fieldsTableEditorView.getTableViewerCreator().layout();
  if (isContextMode()) {
    adaptFormToEditable();
  }
}

Fixed version (ground truth):
/** 
 * Initialize value, forceFocus first field.
 */
@Override protected void initialize(){
  if (treeViewer == null) {
    treeViewer=new TreeViewer(availableXmlTree);
    treeViewer.setContentProvider(new VirtualXmlTreeNodeContentProvider(treeViewer));
    treeViewer.setLabelProvider(new VirtualXmlTreeLabelProvider());
    treeViewer.setUseHashlookup(true);
    this.treePopulator=new TreePopulator(treeViewer);
  }
  checkFieldsValue();
  if (xmlXPathLoopDescriptor == null) {
    if (getConnection().getSchema() != null && !getConnection().getSchema().isEmpty()) {
      xmlXPathLoopDescriptor=getConnection().getSchema().get(0);
      xmlFilePath=getConnection().getXmlFilePath();
      if (isContextMode()) {
        ContextType contextType=ConnectionContextHelper.getContextTypeForContextMode(connectionItem.getConnection(),connectionItem.getConnection().getContextName());
        xmlFilePath=TalendQuoteUtils.removeQuotes(ConnectionContextHelper.getOriginalValue(contextType,xmlFilePath));
      }
    }
 else {
      xmlXPathLoopDescriptor=ConnectionFactory.eINSTANCE.createXmlXPathLoopDescriptor();
      getConnection().getSchema().add(xmlXPathLoopDescriptor);
    }
  }
  loopModel.setXmlXPathLoopDescriptor(xmlXPathLoopDescriptor);
  if (xmlXPathLoopDescriptor.getLimitBoucle() == null) {
    xmlXPathLoopDescriptor.setLimitBoucle(-1);
    XmlArray.setLimitToDefault();
    xmlXPathLoopDescriptor.setLimitBoucle(XmlArray.getRowLimit());
  }
  fieldsModel.setXmlXPathLoopDescriptor(xmlXPathLoopDescriptor.getSchemaTargets());
  fieldsTableEditorView.getTableViewerCreator().layout();
  if (isContextMode()) {
    adaptFormToEditable();
  }
}