nus-yam/ex-repair huggingface dataset:
Program: 119562
Project: 119562
Buggy source:
public void execute(){
  Process process=(Process)node.getProcess();
  process.setActivateSubjob(node,value,oneComponent);
  if (!value) {
    List<? extends INode> graphicalNodes=process.getGraphicalNodes();
    for (    INode gNode : graphicalNodes) {
      if (gNode == this.node) {
        continue;
      }
      List<? extends IElementParameter> elementParameters=gNode.getElementParameters();
      for (      IElementParameter param : elementParameters) {
        EParameterFieldType fieldType=param.getFieldType();
        if (EParameterFieldType.COMPONENT_LIST == fieldType) {
          Object value=param.getValue();
          if (node.getUniqueName().equals(value)) {
            param.setValue("String_Node_Str");
            gNode.setPropertyValue(EParameterName.UPDATE_COMPONENTS.getName(),Boolean.TRUE);
            String key=gNode.getUniqueName() + "String_Node_Str" + param.getName();
            componentListChanged.put(key,value);
          }
        }
      }
    }
  }
  process.checkStartNodes();
  process.checkProcess();
  refreshPropertyView();
}

Fixed version (ground truth):
public void execute(){
  Process process=(Process)node.getProcess();
  process.setActivateSubjob(node,value,oneComponent);
  process.checkStartNodes();
  process.checkProcess();
  refreshPropertyView();
}
Program: 119564
Project: 119564
Buggy source:
@Override public void redo(){
  componentListChanged.clear();
  this.execute();
}

Fixed version (ground truth):
@Override public void redo(){
  this.execute();
}
Program: 119566
Project: 119566
Buggy source:
@Override public void refresh(IElementParameter param,boolean check){
  CCombo combo=(CCombo)hashCurControls.get(getParameterName(param));
  if (combo == null || combo.isDisposed()) {
    return;
  }
  updateComponentList(elem,param);
  String[] curComponentNameList=param.getListItemsDisplayName();
  String[] curComponentValueList=(String[])param.getListItemsValue();
  Object value=param.getValue();
  boolean listContainValue=false;
  int numValue=0;
  for (int i=0; i < curComponentValueList.length && !listContainValue; i++) {
    if (curComponentValueList[i].equals(value)) {
      listContainValue=true;
      numValue=i;
    }
  }
  if (param.isContextMode()) {
    combo.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_YELLOW));
    combo.setEnabled(false);
    combo.setText((String)value);
  }
 else {
    combo.setItems(curComponentNameList);
    if (!listContainValue) {
      elem.setPropertyValue(getParameterName(param),"String_Node_Str");
    }
 else {
      combo.setText(curComponentNameList[numValue]);
    }
  }
}

Fixed version (ground truth):
@Override public void refresh(IElementParameter param,boolean check){
  CCombo combo=(CCombo)hashCurControls.get(getParameterName(param));
  if (combo == null || combo.isDisposed()) {
    return;
  }
  updateComponentList(elem,param);
  String[] curComponentNameList=param.getListItemsDisplayName();
  String[] curComponentValueList=(String[])param.getListItemsValue();
  Object value=param.getValue();
  boolean listContainValue=false;
  int numValue=0;
  for (int i=0; i < curComponentValueList.length && !listContainValue; i++) {
    if (curComponentValueList[i].equals(value)) {
      listContainValue=true;
      numValue=i;
    }
  }
  if (param.isContextMode()) {
    combo.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_YELLOW));
    combo.setEnabled(false);
    combo.setText((String)value);
  }
 else {
    combo.setItems(curComponentNameList);
    if (!listContainValue) {
      if (curComponentNameList.length > 0) {
        elem.setPropertyValue(getParameterName(param),curComponentValueList[0]);
        combo.setText(curComponentNameList[0]);
      }
    }
 else {
      combo.setText(curComponentNameList[numValue]);
    }
  }
}
Program: 119568
Project: 119568
Buggy source:
private void createLoopLinks(List<FOXTreeNode> treeData){
  for (  FOXTreeNode treeNode : treeData) {
    if (treeNode.getColumn() != null) {
      TableItem tableItem=null;
      for (      TableItem curTableItem : getSource().getItems()) {
        if (curTableItem.getText().equals(treeNode.getColumnLabel())) {
          tableItem=curTableItem;
          break;
        }
      }
      if (tableItem == null) {
        continue;
      }
      String path=tableItem.getText();
      if (path != null) {
        TreeItem treeItem=getTreeItem(treeNode);
        if (treeItem != null) {
          addLoopLink(tableItem,tableItem.getData(),xmlViewer.getTree(),(FOXTreeNode)treeItem.getData());
        }
      }
    }
    createLoopLinks(treeNode.getChildren());
  }
}

Fixed version (ground truth):
private void createLoopLinks(List<FOXTreeNode> treeData){
  for (  FOXTreeNode treeNode : treeData) {
    if (treeNode.getColumn() != null) {
      TableItem tableItem=null;
      for (      TableItem curTableItem : getSource().getItems()) {
        String columnLabel=treeNode.getColumn().getLabel();
        if (curTableItem.getText().equals(columnLabel)) {
          tableItem=curTableItem;
          break;
        }
      }
      if (tableItem == null) {
        continue;
      }
      String path=tableItem.getText();
      if (path != null) {
        TreeItem treeItem=getTreeItem(treeNode);
        if (treeItem != null) {
          addLoopLink(tableItem,tableItem.getData(),xmlViewer.getTree(),(FOXTreeNode)treeItem.getData());
        }
      }
    }
    createLoopLinks(treeNode.getChildren());
  }
}
Program: 119569
Project: 119569
Buggy source:
private void synchronizeOutputLinks(TableToTablesLinker<Object,Object> tabTotabLink,List<org.talend.core.model.metadata.IMetadataColumn> llist){
  try {
    List<LinkDescriptor<TableItem,Object,Table,Object>> links=tabTotabLink.getLinksManager().getLinks();
    boolean isExistColumn=false;
    for (    LinkDescriptor<TableItem,Object,Table,Object> link : links) {
      IExtremityLink extremity=link.getExtremity2();
      IMetadataColumn c=null;
      if (extremity.getDataItem() instanceof OutPutMappingData) {
        c=((OutPutMappingData)extremity.getDataItem()).getMetadataColumn();
      }
      if (c != null) {
        for (        IMetadataColumn column : llist) {
          if (c.getLabel().equals(column.getLabel())) {
            ((OutPutMappingData)extremity.getDataItem()).setMetadataColumn(column);
            isExistColumn=true;
          }
        }
      }
    }
    if (!isExistColumn) {
      tabTotabLink.clearLinks();
    }
  }
 catch (  Exception e) {
    tabTotabLink.clearLinks();
  }
}

Fixed version (ground truth):
private void synchronizeOutputLinks(TableToTablesLinker<Object,Object> tabTotabLink,List<org.talend.core.model.metadata.IMetadataColumn> llist){
  try {
    List<LinkDescriptor<TableItem,Object,Table,Object>> links=tabTotabLink.getLinksManager().getLinks();
    List<LinkDescriptor<TableItem,Object,Table,Object>> removeLinks=new ArrayList<LinkDescriptor<TableItem,Object,Table,Object>>();
    for (    LinkDescriptor<TableItem,Object,Table,Object> link : links) {
      boolean isExistColumn=false;
      IExtremityLink extremity=link.getExtremity2();
      IMetadataColumn c=null;
      if (extremity.getDataItem() instanceof OutPutMappingData) {
        c=((OutPutMappingData)extremity.getDataItem()).getMetadataColumn();
      }
      if (c != null) {
        for (        IMetadataColumn column : llist) {
          if (c.getLabel().equals(column.getLabel())) {
            ((OutPutMappingData)extremity.getDataItem()).setMetadataColumn(column);
            isExistColumn=true;
            break;
          }
        }
      }
    }
    for (    LinkDescriptor<TableItem,Object,Table,Object> link : removeLinks) {
      tabTotabLink.getLinksManager().removeLink(link);
    }
    tabTotabLink.getBackgroundRefresher().refreshBackground();
  }
 catch (  Exception e) {
    tabTotabLink.clearLinks();
  }
}
Program: 119570
Project: 119570
Buggy source:
private void synchronizeInputLinks(TableToTablesLinker<Object,Object> tabTotabLink,List<org.talend.core.model.metadata.IMetadataColumn> llist){
  try {
    List<LinkDescriptor<TableItem,Object,Table,Object>> links=tabTotabLink.getLinksManager().getLinks();
    boolean isExistColumn=false;
    for (    LinkDescriptor<TableItem,Object,Table,Object> link : links) {
      IExtremityLink extremity=link.getExtremity1();
      IMetadataColumn c=null;
      if (extremity.getDataItem() instanceof IMetadataColumn) {
        c=(IMetadataColumn)extremity.getDataItem();
      }
      if (c != null) {
        for (        IMetadataColumn column : llist) {
          if (c.getLabel().equals(column.getLabel())) {
            extremity.setDataItem(column);
            isExistColumn=true;
          }
        }
      }
    }
    if (!isExistColumn) {
      tabTotabLink.clearLinks();
      for (      InputMappingData inputData : inputMappingList) {
        inputData.setInputColumnValue("String_Node_Str");
      }
      expressinPutTableView.getExtendedTableViewer().getTableViewerCreator().refresh();
    }
  }
 catch (  Exception e) {
    tabTotabLink.clearLinks();
  }
}

Fixed version (ground truth):
private void synchronizeInputLinks(TableToTablesLinker<Object,Object> tabTotabLink,List<org.talend.core.model.metadata.IMetadataColumn> llist){
  try {
    List<LinkDescriptor<TableItem,Object,Table,Object>> links=tabTotabLink.getLinksManager().getLinks();
    List<LinkDescriptor<TableItem,Object,Table,Object>> removeLinks=new ArrayList<LinkDescriptor<TableItem,Object,Table,Object>>();
    for (    LinkDescriptor<TableItem,Object,Table,Object> link : links) {
      boolean isExistColumn=false;
      IExtremityLink extremity=link.getExtremity1();
      IMetadataColumn c=null;
      if (extremity.getDataItem() instanceof IMetadataColumn) {
        c=(IMetadataColumn)extremity.getDataItem();
      }
      if (c != null) {
        for (        IMetadataColumn column : llist) {
          if (c.getLabel().equals(column.getLabel())) {
            extremity.setDataItem(column);
            isExistColumn=true;
            break;
          }
        }
        if (!isExistColumn) {
          removeLinks.add(link);
          for (          InputMappingData inputData : inputMappingList) {
            InputMappingData dataItem=(InputMappingData)link.getExtremity2().getDataItem();
            if (inputData == dataItem) {
              inputData.setInputColumnValue(StringUtils.remove(inputData.getInputColumnValue(),"String_Node_Str" + c.getLabel()).trim());
            }
          }
        }
      }
    }
    for (    LinkDescriptor<TableItem,Object,Table,Object> link : removeLinks) {
      tabTotabLink.getLinksManager().removeLink(link);
    }
    expressinPutTableView.getExtendedTableViewer().getTableViewerCreator().refresh();
    tabTotabLink.getBackgroundRefresher().refreshBackground();
  }
 catch (  Exception e) {
    tabTotabLink.clearLinks();
  }
}
Program: 119587
Project: 119587
Buggy source:
private void setDeparallelization(INode node){
  if (node.isActivate()) {
    for (    IConnection con : node.getIncomingConnections()) {
      EConnectionType lineStyle=con.getLineStyle();
      if (lineStyle.hasConnectionCategory(IConnectionCategory.DATA)) {
        IElementParameter parElem=con.getElementParameter(EParameterName.PARTITIONER.getName());
        parElem.setValue(Boolean.FALSE);
        con.getElementParameter(EParameterName.REPARTITIONER.getName()).setValue(Boolean.FALSE);
        con.getElementParameter(EParameterName.NONE.getName()).setValue(Boolean.FALSE);
        con.setPropertyValue(EParameterName.DEPARTITIONER.getName(),Boolean.TRUE);
      }
    }
    if (node.getOutgoingConnections().size() > 0) {
      setParallelization(node);
    }
  }
}

Fixed version (ground truth):
private void setDeparallelization(INode node){
  if (node.isActivate()) {
    for (    IConnection con : node.getIncomingConnections()) {
      EConnectionType lineStyle=con.getLineStyle();
      if (lineStyle.hasConnectionCategory(IConnectionCategory.DATA)) {
        con.getElementParameter(EParameterName.PARTITIONER.getName()).setValue(Boolean.FALSE);
        con.getElementParameter(EParameterName.REPARTITIONER.getName()).setValue(Boolean.FALSE);
        con.getElementParameter(EParameterName.NONE.getName()).setValue(Boolean.FALSE);
        con.setPropertyValue(EParameterName.DEPARTITIONER.getName(),Boolean.TRUE);
      }
    }
    if (node.getOutgoingConnections().size() > 0) {
      setParallelization(node);
    }
  }
}
Program: 119588
Project: 119588
Buggy source:
@Override public void execute(){
  setParallelization(this.node);
  if (!isExistParallel) {
    MessageDialog.openInformation(new Shell(),Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str"));
  }
}

Fixed version (ground truth):
@Override public void execute(){
  existParallelMap.clear();
  initParallelNodeMap();
  setParallelization(this.node);
  if (!isExistParalInSubjob(existParallelMap,node.getProcessStartNode(false))) {
    MessageDialog.openInformation(new Shell(),Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str"));
  }
}
Program: 119591
Project: 119591
Buggy source:
@Override public void execute(){
  setParallelization(this.node);
  if (!isExistParallel) {
    MessageDialog.openInformation(new Shell(),Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str"));
  }
}

Fixed version (ground truth):
@Override public void execute(){
  existParallelMap.clear();
  initParallelNodeMap();
  setParallelization(this.node);
  if (!isExistParalInSubjob(existParallelMap,node.getProcessStartNode(false))) {
    MessageDialog.openInformation(new Shell(),Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str"));
  }
}
Program: 119593
Project: 119593
Buggy source:
@Override public void undo(){
  Process process;
  if (nodeList.size() > 0) {
    process=(Process)nodeList.get(0).getProcess();
  }
 else {
    process=(Process)connectionList.get(0).getSource().getProcess();
  }
  process.setActivate(false);
  dummyMiddleElement(true);
  for (  Node node : nodeList) {
    if (isSameSchemaInputOutput(node)) {
      node.setPropertyValue(EParameterName.DUMMY.getName(),value);
    }
    node.setPropertyValue(EParameterName.ACTIVATE.getName(),!value);
  }
  for (  Connection connection : connectionList) {
    connection.setPropertyValue(EParameterName.ACTIVATE.getName(),!value);
  }
  if (connectionList != null && connectionList.size() != 0) {
    if (connIndex < outputs.size()) {
      outputs.remove(this.curConn);
      outputs.add(outputs.size() - deactiveNum,(Connection)object);
    }
    if (connIndex >= outputs.size()) {
      outputs.add(curConn);
    }
    curConn.updateAllId();
  }
  process.setActivate(true);
  process.checkStartNodes();
  process.checkProcess();
  refreshPropertyView();
}

Fixed version (ground truth):
@Override public void undo(){
  Process process;
  if (nodeList.size() > 0) {
    process=(Process)nodeList.get(0).getProcess();
  }
 else {
    process=(Process)connectionList.get(0).getSource().getProcess();
  }
  process.setActivate(false);
  if (!componentListChanged.isEmpty()) {
    List<? extends INode> graphicalNodes=process.getGraphicalNodes();
    for (    INode node : graphicalNodes) {
      List<? extends IElementParameter> elementParameters=node.getElementParameters();
      for (      IElementParameter param : elementParameters) {
        EParameterFieldType fieldType=param.getFieldType();
        if (EParameterFieldType.COMPONENT_LIST == fieldType) {
          String key=node.getUniqueName() + "String_Node_Str" + param.getName();
          Object object=componentListChanged.get(key);
          if (object != null) {
            param.setValue(object);
            node.setPropertyValue(EParameterName.UPDATE_COMPONENTS.getName(),Boolean.TRUE);
          }
        }
      }
    }
  }
  dummyMiddleElement(true);
  for (  Node node : nodeList) {
    if (isSameSchemaInputOutput(node)) {
      node.setPropertyValue(EParameterName.DUMMY.getName(),value);
    }
    node.setPropertyValue(EParameterName.ACTIVATE.getName(),!value);
  }
  for (  Connection connection : connectionList) {
    connection.setPropertyValue(EParameterName.ACTIVATE.getName(),!value);
  }
  if (connectionList != null && connectionList.size() != 0) {
    if (connIndex < outputs.size()) {
      outputs.remove(this.curConn);
      outputs.add(outputs.size() - deactiveNum,(Connection)object);
    }
    if (connIndex >= outputs.size()) {
      outputs.add(curConn);
    }
    curConn.updateAllId();
  }
  process.setActivate(true);
  process.checkStartNodes();
  process.checkProcess();
  refreshPropertyView();
}
Program: 119594
Project: 119594
Buggy source:
@Override public void redo(){
  this.execute();
}

Fixed version (ground truth):
@Override public void redo(){
  componentListChanged.clear();
  this.execute();
}
Program: 119596
Project: 119596
Buggy source:
public void undo(){
  Process process=(Process)node.getProcess();
  process.setActivateSubjob(node,!value,oneComponent);
  process.checkStartNodes();
  process.checkProcess();
  refreshPropertyView();
}

Fixed version (ground truth):
public void undo(){
  Process process=(Process)node.getProcess();
  process.setActivateSubjob(node,!value,oneComponent);
  if (!componentListChanged.isEmpty()) {
    List<? extends INode> graphicalNodes=process.getGraphicalNodes();
    for (    INode gNode : graphicalNodes) {
      if (gNode == this.node) {
        continue;
      }
      List<? extends IElementParameter> elementParameters=gNode.getElementParameters();
      for (      IElementParameter param : elementParameters) {
        EParameterFieldType fieldType=param.getFieldType();
        if (EParameterFieldType.COMPONENT_LIST == fieldType) {
          String key=gNode.getUniqueName() + "String_Node_Str" + param.getName();
          Object object=componentListChanged.get(key);
          if (object != null) {
            param.setValue(object);
            gNode.setPropertyValue(EParameterName.UPDATE_COMPONENTS.getName(),Boolean.TRUE);
          }
        }
      }
    }
  }
  process.checkStartNodes();
  process.checkProcess();
  refreshPropertyView();
}
Program: 119597
Project: 119597
Buggy source:
public void redo(){
  this.execute();
}

Fixed version (ground truth):
public void redo(){
  componentListChanged.clear();
  this.execute();
}
Program: 119598
Project: 119598
Buggy source:
public void execute(){
  Process process=(Process)node.getProcess();
  process.setActivateSubjob(node,value,oneComponent);
  process.checkStartNodes();
  process.checkProcess();
  refreshPropertyView();
}

Fixed version (ground truth):
public void execute(){
  Process process=(Process)node.getProcess();
  process.setActivateSubjob(node,value,oneComponent);
  if (!value) {
    List<? extends INode> graphicalNodes=process.getGraphicalNodes();
    for (    INode gNode : graphicalNodes) {
      if (gNode == this.node) {
        continue;
      }
      List<? extends IElementParameter> elementParameters=gNode.getElementParameters();
      for (      IElementParameter param : elementParameters) {
        EParameterFieldType fieldType=param.getFieldType();
        if (EParameterFieldType.COMPONENT_LIST == fieldType) {
          Object value=param.getValue();
          if (node.getUniqueName().equals(value)) {
            param.setValue("String_Node_Str");
            gNode.setPropertyValue(EParameterName.UPDATE_COMPONENTS.getName(),Boolean.TRUE);
            String key=gNode.getUniqueName() + "String_Node_Str" + param.getName();
            componentListChanged.put(key,value);
          }
        }
      }
    }
  }
  process.checkStartNodes();
  process.checkProcess();
  refreshPropertyView();
}
Program: 119600
Project: 119600
Buggy source:
@Override public void redo(){
  this.execute();
}

Fixed version (ground truth):
@Override public void redo(){
  componentListChanged.clear();
  this.execute();
}
Program: 119602
Project: 119602
Buggy source:
@Override public void refresh(IElementParameter param,boolean check){
  CCombo combo=(CCombo)hashCurControls.get(getParameterName(param));
  if (combo == null || combo.isDisposed()) {
    return;
  }
  updateComponentList(elem,param);
  String[] curComponentNameList=param.getListItemsDisplayName();
  String[] curComponentValueList=(String[])param.getListItemsValue();
  Object value=param.getValue();
  boolean listContainValue=false;
  int numValue=0;
  for (int i=0; i < curComponentValueList.length && !listContainValue; i++) {
    if (curComponentValueList[i].equals(value)) {
      listContainValue=true;
      numValue=i;
    }
  }
  if (param.isContextMode()) {
    combo.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_YELLOW));
    combo.setEnabled(false);
    combo.setText((String)value);
  }
 else {
    combo.setItems(curComponentNameList);
    if (!listContainValue) {
      if (curComponentNameList.length > 0) {
        elem.setPropertyValue(getParameterName(param),curComponentValueList[0]);
        combo.setText(curComponentNameList[0]);
      }
    }
 else {
      combo.setText(curComponentNameList[numValue]);
    }
  }
}

Fixed version (ground truth):
@Override public void refresh(IElementParameter param,boolean check){
  CCombo combo=(CCombo)hashCurControls.get(getParameterName(param));
  if (combo == null || combo.isDisposed()) {
    return;
  }
  updateComponentList(elem,param);
  String[] curComponentNameList=param.getListItemsDisplayName();
  String[] curComponentValueList=(String[])param.getListItemsValue();
  Object value=param.getValue();
  boolean listContainValue=false;
  int numValue=0;
  for (int i=0; i < curComponentValueList.length && !listContainValue; i++) {
    if (curComponentValueList[i].equals(value)) {
      listContainValue=true;
      numValue=i;
    }
  }
  if (param.isContextMode()) {
    combo.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_YELLOW));
    combo.setEnabled(false);
    combo.setText((String)value);
  }
 else {
    combo.setItems(curComponentNameList);
    if (!listContainValue) {
      elem.setPropertyValue(getParameterName(param),"String_Node_Str");
    }
 else {
      combo.setText(curComponentNameList[numValue]);
    }
  }
}
Program: 119605
Project: 119605
Buggy source:
/** 
 * DOC PLV Comment method "getCorrectMetadataTable".
 */
private void fillCorrectMetadataTable(){
  try {
    List<MetadataTable> tables=ExtractMetaDataFromDataBase.returnMetaTablesFormConnection(ConvertionHelper.convert(conn));
    String correctTable="String_Node_Str";
    if (node != null) {
      IElementParameter param=node.getElementParameterFromField(EParameterFieldType.DBTABLE);
      if (param != null && param.isShow(node.getElementParameters())) {
        correctTable=TalendQuoteUtils.removeQuotesIfExist((String)param.getValue());
      }
    }
    for (    MetadataTable table : tables) {
      if (table.getName().equals(correctTable)) {
        List<TdColumn> columns=ExtractMetaDataFromDataBase.returnMetadataColumnsFormTable(ConvertionHelper.convert(conn),correctTable,false);
        List<IMetadataColumn> columnTemps=new ArrayList<IMetadataColumn>();
        for (        TdColumn column : columns) {
          columnTemps.add(ConvertionHelper.convertToIMetaDataColumn(column));
        }
        newOutputMetadataTable=ConvertionHelper.convert(table);
        newOutputMetadataTable.setListColumns(columnTemps);
        break;
      }
    }
  }
 catch (  Exception e) {
  }
}

Fixed version (ground truth):
/** 
 * DOC PLV Comment method "getCorrectMetadataTable".
 */
private boolean fillCorrectMetadataTable(){
  try {
    List<MetadataTable> tables=ExtractMetaDataFromDataBase.returnMetaTablesFormConnection(ConvertionHelper.convert(conn));
    String correctTable="String_Node_Str";
    if (node != null) {
      IElementParameter param=node.getElementParameterFromField(EParameterFieldType.DBTABLE);
      if (param != null && param.isShow(node.getElementParameters())) {
        correctTable=TalendQuoteUtils.removeQuotesIfExist((String)param.getValue());
      }
    }
    for (    MetadataTable table : tables) {
      if (table.getName().equals(correctTable)) {
        List<TdColumn> columns=ExtractMetaDataFromDataBase.returnMetadataColumnsFormTable(ConvertionHelper.convert(conn),correctTable,false);
        List<IMetadataColumn> columnTemps=new ArrayList<IMetadataColumn>();
        for (        TdColumn column : columns) {
          columnTemps.add(ConvertionHelper.convertToIMetaDataColumn(column));
        }
        newOutputMetadataTable=ConvertionHelper.convert(table);
        newOutputMetadataTable.setListColumns(columnTemps);
        return true;
      }
    }
  }
 catch (  Exception e) {
    return false;
  }
  return false;
}
Program: 119607
Project: 119607
Buggy source:
public static boolean isExistParallelCon(Node startNode){
  boolean existPartitioningCon=false;
  for (  IConnection con : startNode.getOutgoingConnections()) {
    if ((con.getElementParameter(EParameterName.PARTITIONER.getName()) != null && con.getElementParameter(EParameterName.PARTITIONER.getName()).getValue().equals(true))) {
      existPartitioningCon=true;
      break;
    }
 else {
      existPartitioningCon=isExistParallelCon((Node)con.getTarget());
    }
  }
  return existPartitioningCon;
}

Fixed version (ground truth):
public static boolean isExistParallelCon(Node startNode){
  boolean existPartitioningCon=false;
  for (  IConnection con : startNode.getOutgoingConnections()) {
    if ((con.getElementParameter(EParameterName.PARTITIONER.getName()) != null && con.getElementParameter(EParameterName.PARTITIONER.getName()).getValue().equals(true))) {
      existPartitioningCon=true;
      break;
    }
 else {
      existPartitioningCon=isExistParallelCon((Node)con.getTarget());
      if (existPartitioningCon) {
        break;
      }
    }
  }
  return existPartitioningCon;
}
Program: 119608
Project: 119608
Buggy source:
@Override public void undo(){
  Process process;
  if (nodeList.size() > 0) {
    process=(Process)nodeList.get(0).getProcess();
  }
 else {
    process=(Process)connectionList.get(0).getSource().getProcess();
  }
  process.setActivate(false);
  dummyMiddleElement(true);
  for (  Node node : nodeList) {
    if (isSameSchemaInputOutput(node)) {
      node.setPropertyValue(EParameterName.DUMMY.getName(),value);
    }
    node.setPropertyValue(EParameterName.ACTIVATE.getName(),!value);
  }
  for (  Connection connection : connectionList) {
    connection.setPropertyValue(EParameterName.ACTIVATE.getName(),!value);
  }
  if (connectionList != null && connectionList.size() != 0) {
    if (connIndex < outputs.size()) {
      outputs.remove(this.curConn);
      outputs.add(outputs.size() - deactiveNum,(Connection)object);
    }
    if (connIndex >= outputs.size()) {
      outputs.add(curConn);
    }
    curConn.updateAllId();
  }
  process.setActivate(true);
  process.checkStartNodes();
  process.checkProcess();
  refreshPropertyView();
}

Fixed version (ground truth):
@Override public void undo(){
  Process process;
  if (nodeList.size() > 0) {
    process=(Process)nodeList.get(0).getProcess();
  }
 else {
    process=(Process)connectionList.get(0).getSource().getProcess();
  }
  process.setActivate(false);
  if (!componentListChanged.isEmpty()) {
    List<? extends INode> graphicalNodes=process.getGraphicalNodes();
    for (    INode node : graphicalNodes) {
      List<? extends IElementParameter> elementParameters=node.getElementParameters();
      for (      IElementParameter param : elementParameters) {
        EParameterFieldType fieldType=param.getFieldType();
        if (EParameterFieldType.COMPONENT_LIST == fieldType) {
          String key=node.getUniqueName() + "String_Node_Str" + param.getName();
          Object object=componentListChanged.get(key);
          if (object != null) {
            param.setValue(object);
            node.setPropertyValue(EParameterName.UPDATE_COMPONENTS.getName(),Boolean.TRUE);
          }
        }
      }
    }
  }
  dummyMiddleElement(true);
  for (  Node node : nodeList) {
    if (isSameSchemaInputOutput(node)) {
      node.setPropertyValue(EParameterName.DUMMY.getName(),value);
    }
    node.setPropertyValue(EParameterName.ACTIVATE.getName(),!value);
  }
  for (  Connection connection : connectionList) {
    connection.setPropertyValue(EParameterName.ACTIVATE.getName(),!value);
  }
  if (connectionList != null && connectionList.size() != 0) {
    if (connIndex < outputs.size()) {
      outputs.remove(this.curConn);
      outputs.add(outputs.size() - deactiveNum,(Connection)object);
    }
    if (connIndex >= outputs.size()) {
      outputs.add(curConn);
    }
    curConn.updateAllId();
  }
  process.setActivate(true);
  process.checkStartNodes();
  process.checkProcess();
  refreshPropertyView();
}
Program: 119609
Project: 119609
Buggy source:
private Map<IConnection,Node> getAllOutMiddleNodes(INode node){
  Map<IConnection,Node> middleNodeMap=new HashMap<IConnection,Node>();
  for (  IConnection outConn : node.getOutgoingConnections()) {
    if (outConn.getLineStyle().hasConnectionCategory(IConnectionCategory.FLOW)) {
      if (!((Node)outConn.getTarget()).isActivate()) {
        middleNodeMap.put(outConn,null);
        if (isSameSchemaInputOutput((Node)outConn.getTarget())) {
          middleNodeMap.putAll(getAllOutMiddleNodes((Node)outConn.getTarget()));
        }
      }
 else {
        middleNodeMap.put(outConn,(Node)outConn.getTarget());
      }
    }
  }
  return middleNodeMap;
}

Fixed version (ground truth):
private Map<IConnection,Node> getAllOutMiddleNodes(INode node){
  Map<IConnection,Node> middleNodeMap=new HashMap<IConnection,Node>();
  for (  IConnection outConn : node.getOutgoingConnections()) {
    if (outConn.getLineStyle().hasConnectionCategory(IConnectionCategory.FLOW)) {
      if (!((Node)outConn.getTarget()).isActivate()) {
        middleNodeMap.put(outConn,null);
        if (isSameSchemaInputOutput((Node)outConn.getTarget())) {
          middleNodeMap.putAll(getAllOutMiddleNodes(outConn.getTarget()));
        }
      }
 else {
        middleNodeMap.put(outConn,(Node)outConn.getTarget());
      }
    }
  }
  return middleNodeMap;
}
Program: 119610
Project: 119610
Buggy source:
private Map<IConnection,Node> getAllInMiddleNodes(INode node){
  Map<IConnection,Node> middleNodeMap=new HashMap<IConnection,Node>();
  for (  IConnection inConn : node.getIncomingConnections()) {
    if (inConn.getLineStyle().hasConnectionCategory(IConnectionCategory.FLOW)) {
      if (!((Node)inConn.getSource()).isActivate()) {
        middleNodeMap.put(inConn,null);
        if (isSameSchemaInputOutput((Node)inConn.getSource())) {
          middleNodeMap.putAll(getAllInMiddleNodes((Node)inConn.getSource()));
        }
      }
 else {
        middleNodeMap.put(inConn,(Node)inConn.getSource());
      }
    }
  }
  return middleNodeMap;
}

Fixed version (ground truth):
private Map<IConnection,Node> getAllInMiddleNodes(INode node){
  Map<IConnection,Node> middleNodeMap=new HashMap<IConnection,Node>();
  for (  IConnection inConn : node.getIncomingConnections()) {
    if (inConn.getLineStyle().hasConnectionCategory(IConnectionCategory.FLOW)) {
      if (!((Node)inConn.getSource()).isActivate()) {
        middleNodeMap.put(inConn,null);
        if (isSameSchemaInputOutput((Node)inConn.getSource())) {
          middleNodeMap.putAll(getAllInMiddleNodes(inConn.getSource()));
        }
      }
 else {
        middleNodeMap.put(inConn,(Node)inConn.getSource());
      }
    }
  }
  return middleNodeMap;
}
Program: 119611
Project: 119611
Buggy source:
@Override public void redo(){
  this.execute();
}

Fixed version (ground truth):
@Override public void redo(){
  componentListChanged.clear();
  this.execute();
}
Program: 119613
Project: 119613
Buggy source:
public void undo(){
  Process process=(Process)node.getProcess();
  process.setActivateSubjob(node,!value,oneComponent);
  process.checkStartNodes();
  process.checkProcess();
  refreshPropertyView();
}

Fixed version (ground truth):
public void undo(){
  Process process=(Process)node.getProcess();
  process.setActivateSubjob(node,!value,oneComponent);
  if (!componentListChanged.isEmpty()) {
    List<? extends INode> graphicalNodes=process.getGraphicalNodes();
    for (    INode gNode : graphicalNodes) {
      if (gNode == this.node) {
        continue;
      }
      List<? extends IElementParameter> elementParameters=gNode.getElementParameters();
      for (      IElementParameter param : elementParameters) {
        EParameterFieldType fieldType=param.getFieldType();
        if (EParameterFieldType.COMPONENT_LIST == fieldType) {
          String key=gNode.getUniqueName() + "String_Node_Str" + param.getName();
          Object object=componentListChanged.get(key);
          if (object != null) {
            param.setValue(object);
            gNode.setPropertyValue(EParameterName.UPDATE_COMPONENTS.getName(),Boolean.TRUE);
          }
        }
      }
    }
  }
  process.checkStartNodes();
  process.checkProcess();
  refreshPropertyView();
}
Program: 119614
Project: 119614
Buggy source:
public void redo(){
  this.execute();
}

Fixed version (ground truth):
public void redo(){
  componentListChanged.clear();
  this.execute();
}
Program: 119615
Project: 119615
Buggy source:
public void execute(){
  Process process=(Process)node.getProcess();
  process.setActivateSubjob(node,value,oneComponent);
  process.checkStartNodes();
  process.checkProcess();
  refreshPropertyView();
}

Fixed version (ground truth):
public void execute(){
  Process process=(Process)node.getProcess();
  process.setActivateSubjob(node,value,oneComponent);
  if (!value) {
    List<? extends INode> graphicalNodes=process.getGraphicalNodes();
    for (    INode gNode : graphicalNodes) {
      if (gNode == this.node) {
        continue;
      }
      List<? extends IElementParameter> elementParameters=gNode.getElementParameters();
      for (      IElementParameter param : elementParameters) {
        EParameterFieldType fieldType=param.getFieldType();
        if (EParameterFieldType.COMPONENT_LIST == fieldType) {
          Object value=param.getValue();
          if (node.getUniqueName().equals(value)) {
            param.setValue("String_Node_Str");
            gNode.setPropertyValue(EParameterName.UPDATE_COMPONENTS.getName(),Boolean.TRUE);
            String key=gNode.getUniqueName() + "String_Node_Str" + param.getName();
            componentListChanged.put(key,value);
          }
        }
      }
    }
  }
  process.checkStartNodes();
  process.checkProcess();
  refreshPropertyView();
}
Program: 119617
Project: 119617
Buggy source:
@Override public void redo(){
  this.execute();
}

Fixed version (ground truth):
@Override public void redo(){
  componentListChanged.clear();
  this.execute();
}
Program: 119620
Project: 119620
Buggy source:
/** 
 * DOC PLV Comment method "getCorrectMetadataTable".
 */
private void fillCorrectMetadataTable(){
  try {
    List<MetadataTable> tables=ExtractMetaDataFromDataBase.returnMetaTablesFormConnection(ConvertionHelper.convert(conn));
    String correctTable="String_Node_Str";
    if (node != null) {
      IElementParameter param=node.getElementParameterFromField(EParameterFieldType.DBTABLE);
      if (param != null && param.isShow(node.getElementParameters())) {
        correctTable=TalendQuoteUtils.removeQuotesIfExist((String)param.getValue());
      }
    }
    for (    MetadataTable table : tables) {
      if (table.getName().equals(correctTable)) {
        List<TdColumn> columns=ExtractMetaDataFromDataBase.returnMetadataColumnsFormTable(ConvertionHelper.convert(conn),correctTable,false);
        List<IMetadataColumn> columnTemps=new ArrayList<IMetadataColumn>();
        for (        TdColumn column : columns) {
          columnTemps.add(ConvertionHelper.convertToIMetaDataColumn(column));
        }
        newOutputMetadataTable=ConvertionHelper.convert(table);
        newOutputMetadataTable.setListColumns(columnTemps);
        break;
      }
    }
  }
 catch (  Exception e) {
  }
}

Fixed version (ground truth):
/** 
 * DOC PLV Comment method "getCorrectMetadataTable".
 */
private boolean fillCorrectMetadataTable(){
  try {
    List<MetadataTable> tables=ExtractMetaDataFromDataBase.returnMetaTablesFormConnection(ConvertionHelper.convert(conn));
    String correctTable="String_Node_Str";
    if (node != null) {
      IElementParameter param=node.getElementParameterFromField(EParameterFieldType.DBTABLE);
      if (param != null && param.isShow(node.getElementParameters())) {
        correctTable=TalendQuoteUtils.removeQuotesIfExist((String)param.getValue());
      }
    }
    for (    MetadataTable table : tables) {
      if (table.getName().equals(correctTable)) {
        List<TdColumn> columns=ExtractMetaDataFromDataBase.returnMetadataColumnsFormTable(ConvertionHelper.convert(conn),correctTable,false);
        List<IMetadataColumn> columnTemps=new ArrayList<IMetadataColumn>();
        for (        TdColumn column : columns) {
          columnTemps.add(ConvertionHelper.convertToIMetaDataColumn(column));
        }
        newOutputMetadataTable=ConvertionHelper.convert(table);
        newOutputMetadataTable.setListColumns(columnTemps);
        return true;
      }
    }
  }
 catch (  Exception e) {
    return false;
  }
  return false;
}
Program: 119623
Project: 119623
Buggy source:
private void addTreeCheckedSelection(){
  final CheckboxTreeViewer exportItemsTreeViewer=getItemsTreeViewer();
  exportItemsTreeViewer.addSelectionChangedListener(new ISelectionChangedListener(){
    @Override public void selectionChanged(    SelectionChangedEvent event){
    }
  }
);
  exportItemsTreeViewer.addCheckStateListener(new ICheckStateListener(){
    @Override public void checkStateChanged(    CheckStateChangedEvent event){
    }
  }
);
}

Fixed version (ground truth):
private void addTreeCheckedSelection(){
  final CheckboxTreeViewer exportItemsTreeViewer=getItemsTreeViewer();
  exportItemsTreeViewer.addSelectionChangedListener(new ISelectionChangedListener(){
    @Override public void selectionChanged(    SelectionChangedEvent event){
    }
  }
);
  exportItemsTreeViewer.addCheckStateListener(new ICheckStateListener(){
    @Override public void checkStateChanged(    CheckStateChangedEvent event){
      if (event.getChecked()) {
        initcheckedNodes.add(event.getElement());
        TreeItem treeItem=getTreeItem(exportItemsTreeViewer.getTree().getItems(),event.getElement());
        Set subItems=collectSubData(treeItem);
        Set parent=collectParentData(treeItem);
        uncheckedNodes.removeAll(subItems);
        uncheckedNodes.removeAll(parent);
      }
 else {
        uncheckedNodes.add(event.getElement());
        TreeItem treeItem=getTreeItem(exportItemsTreeViewer.getTree().getItems(),event.getElement());
        Set subItems=collectSubData(treeItem);
        initcheckedNodes.removeAll(subItems);
      }
    }
  }
);
}
Program: 119625
Project: 119625
Buggy source:
@Override public void widgetSelected(SelectionEvent e){
  checkedDependency.clear();
  implicitDependences.clear();
  CheckboxTreeViewer exportItemsTreeViewer=getItemsTreeViewer();
  Set allNode=new HashSet();
  if (exportDependencies.getSelection()) {
    refreshExportDependNodes();
    exportDependenciesSelected();
    allNode.addAll(checkedDependency);
  }
 else {
    allNode.addAll(initcheckedNodes);
  }
  Set toselect=new HashSet();
  for (  Object obj : allNode) {
    ERepositoryObjectType objectType=getObjectType(obj);
    expandRoot(objectType);
    expandParent(exportItemsTreeViewer,obj,objectType);
    checkElement(obj,toselect);
  }
  exportItemsTreeViewer.setCheckedElements(toselect.toArray());
}

Fixed version (ground truth):
@Override public void widgetSelected(SelectionEvent e){
  checkedDependency.clear();
  implicitDependences.clear();
  CheckboxTreeViewer exportItemsTreeViewer=getItemsTreeViewer();
  Set allNode=new HashSet();
  if (exportDependencies.getSelection()) {
    refreshExportDependNodes();
    exportDependenciesSelected();
    allNode.addAll(checkedDependency);
    allNode.addAll(implicitDependences);
  }
 else {
    allNode.addAll(initcheckedNodes);
  }
  Set toselect=new HashSet();
  for (  Object obj : allNode) {
    ERepositoryObjectType objectType=getObjectType(obj);
    expandRoot(objectType);
    expandParent(exportItemsTreeViewer,obj,objectType);
    checkElement(obj,toselect);
  }
  exportItemsTreeViewer.setCheckedElements(toselect.toArray());
  if (!exportDependencies.getSelection()) {
    for (    Object unchecked : uncheckedNodes) {
      exportItemsTreeViewer.setChecked(unchecked,false);
    }
  }
}
Program: 119626
Project: 119626
Buggy source:
@Override public void checkStateChanged(CheckStateChangedEvent event){
}

Fixed version (ground truth):
@Override public void checkStateChanged(CheckStateChangedEvent event){
  if (event.getChecked()) {
    initcheckedNodes.add(event.getElement());
    TreeItem treeItem=getTreeItem(exportItemsTreeViewer.getTree().getItems(),event.getElement());
    Set subItems=collectSubData(treeItem);
    Set parent=collectParentData(treeItem);
    uncheckedNodes.removeAll(subItems);
    uncheckedNodes.removeAll(parent);
  }
 else {
    uncheckedNodes.add(event.getElement());
    TreeItem treeItem=getTreeItem(exportItemsTreeViewer.getTree().getItems(),event.getElement());
    Set subItems=collectSubData(treeItem);
    initcheckedNodes.removeAll(subItems);
  }
}
Program: 119631
Project: 119631
Buggy source:
private void createTisProjectArea(Composite parent){
  createBasicTisProjectArea(parent);
  FormData data;
  svnBranchLabel.setText("String_Node_Str");
  data=new FormData();
  data.top=new FormAttachment(fillProjectsBtn,HORIZONTAL_SPACE,SWT.BOTTOM);
  data.left=new FormAttachment(0,HORIZONTAL_TWO_SPACE);
  data.right=new FormAttachment(0,LEFTSPACE);
  svnBranchLabel.setLayoutData(data);
  data=new FormData();
  data.top=new FormAttachment(svnBranchLabel,0,SWT.CENTER);
  data.left=new FormAttachment(svnBranchLabel,HORIZONTAL_SPACE);
  data.right=new FormAttachment(openProjectBtn,-40,SWT.LEFT);
  branchesViewer.getControl().setLayoutData(data);
}

Fixed version (ground truth):
private void createTisProjectArea(Composite parent){
  createBasicTisProjectArea(parent);
  FormData data;
  svnBranchLabel.setText("String_Node_Str");
  data=new FormData();
  comfortColumnWidth(svnBranchLabel,data);
  data.top=new FormAttachment(fillProjectsBtn,HORIZONTAL_SPACE,SWT.BOTTOM);
  data.left=new FormAttachment(0,HORIZONTAL_TWO_SPACE);
  svnBranchLabel.setLayoutData(data);
  data=new FormData();
  data.top=new FormAttachment(svnBranchLabel,0,SWT.CENTER);
  data.left=new FormAttachment(svnBranchLabel,HORIZONTAL_SPACE);
  data.right=new FormAttachment(openProjectBtn,-40,SWT.LEFT);
  branchesViewer.getControl().setLayoutData(data);
}
Program: 119636
Project: 119636
Buggy source:
private void addTreeCheckedSelection(){
  final CheckboxTreeViewer exportItemsTreeViewer=getItemsTreeViewer();
  exportItemsTreeViewer.addSelectionChangedListener(new ISelectionChangedListener(){
    @Override public void selectionChanged(    SelectionChangedEvent event){
    }
  }
);
}

Fixed version (ground truth):
private void addTreeCheckedSelection(){
  final CheckboxTreeViewer exportItemsTreeViewer=getItemsTreeViewer();
  exportItemsTreeViewer.addSelectionChangedListener(new ISelectionChangedListener(){
    @Override public void selectionChanged(    SelectionChangedEvent event){
    }
  }
);
  exportItemsTreeViewer.addCheckStateListener(new ICheckStateListener(){
    @Override public void checkStateChanged(    CheckStateChangedEvent event){
      if (event.getChecked()) {
        initcheckedNodes.add(event.getElement());
        TreeItem treeItem=getTreeItem(exportItemsTreeViewer.getTree().getItems(),event.getElement());
        Set subItems=collectSubData(treeItem);
        Set parent=collectParentData(treeItem);
        uncheckedNodes.removeAll(subItems);
        uncheckedNodes.removeAll(parent);
      }
 else {
        uncheckedNodes.add(event.getElement());
        TreeItem treeItem=getTreeItem(exportItemsTreeViewer.getTree().getItems(),event.getElement());
        Set subItems=collectSubData(treeItem);
        initcheckedNodes.removeAll(subItems);
      }
    }
  }
);
}
Program: 119638
Project: 119638
Buggy source:
@Override public void widgetSelected(SelectionEvent e){
  checkedDependency.clear();
  implicitDependences.clear();
  CheckboxTreeViewer exportItemsTreeViewer=getItemsTreeViewer();
  Set allNode=new HashSet();
  if (exportDependencies.getSelection()) {
    refreshExportDependNodes();
    exportDependenciesSelected();
    allNode.addAll(checkedDependency);
  }
 else {
    allNode.addAll(initcheckedNodes);
  }
  Set toselect=new HashSet();
  for (  Object obj : allNode) {
    ERepositoryObjectType objectType=getObjectType(obj);
    expandRoot(objectType);
    expandParent(exportItemsTreeViewer,obj,objectType);
    checkElement(obj,toselect);
  }
  exportItemsTreeViewer.setCheckedElements(toselect.toArray());
}

Fixed version (ground truth):
@Override public void widgetSelected(SelectionEvent e){
  checkedDependency.clear();
  implicitDependences.clear();
  CheckboxTreeViewer exportItemsTreeViewer=getItemsTreeViewer();
  Set allNode=new HashSet();
  if (exportDependencies.getSelection()) {
    refreshExportDependNodes();
    exportDependenciesSelected();
    allNode.addAll(checkedDependency);
    allNode.addAll(implicitDependences);
  }
 else {
    allNode.addAll(initcheckedNodes);
  }
  Set toselect=new HashSet();
  for (  Object obj : allNode) {
    ERepositoryObjectType objectType=getObjectType(obj);
    expandRoot(objectType);
    expandParent(exportItemsTreeViewer,obj,objectType);
    checkElement(obj,toselect);
  }
  exportItemsTreeViewer.setCheckedElements(toselect.toArray());
  if (!exportDependencies.getSelection()) {
    for (    Object unchecked : uncheckedNodes) {
      exportItemsTreeViewer.setChecked(unchecked,false);
    }
  }
}
Program: 119642
Project: 119642
Buggy source:
private void createTisProjectArea(Composite parent){
  createBasicTisProjectArea(parent);
  FormData data;
  svnBranchLabel.setText("String_Node_Str");
  data=new FormData();
  data.top=new FormAttachment(fillProjectsBtn,HORIZONTAL_SPACE,SWT.BOTTOM);
  data.left=new FormAttachment(0,HORIZONTAL_TWO_SPACE);
  data.right=new FormAttachment(0,LEFTSPACE);
  svnBranchLabel.setLayoutData(data);
  data=new FormData();
  data.top=new FormAttachment(svnBranchLabel,0,SWT.CENTER);
  data.left=new FormAttachment(svnBranchLabel,HORIZONTAL_SPACE);
  data.right=new FormAttachment(openProjectBtn,-40,SWT.LEFT);
  branchesViewer.getControl().setLayoutData(data);
}

Fixed version (ground truth):
private void createTisProjectArea(Composite parent){
  createBasicTisProjectArea(parent);
  FormData data;
  svnBranchLabel.setText("String_Node_Str");
  data=new FormData();
  comfortColumnWidth(svnBranchLabel,data);
  data.top=new FormAttachment(fillProjectsBtn,HORIZONTAL_SPACE,SWT.BOTTOM);
  data.left=new FormAttachment(0,HORIZONTAL_TWO_SPACE);
  svnBranchLabel.setLayoutData(data);
  data=new FormData();
  data.top=new FormAttachment(svnBranchLabel,0,SWT.CENTER);
  data.left=new FormAttachment(svnBranchLabel,HORIZONTAL_SPACE);
  data.right=new FormAttachment(openProjectBtn,-40,SWT.LEFT);
  branchesViewer.getControl().setLayoutData(data);
}