Program: 122884
Project: 122884
Buggy source:
@Override public void execute(){
  AbstractInOutTree targetTree=(AbstractInOutTree)targetEditPart.getModel();
  String expression=targetTree.getExpressionFilter();
  if (objects.getToTransfer() != null) {
    for (    Object obj : objects.getToTransfer()) {
      AbstractNode sourceNode=null;
      if (objects.getType() == TransferdType.INPUT) {
        TreeNodeEditPart part=(TreeNodeEditPart)obj;
        sourceNode=(TreeNode)part.getModel();
        if (expression == null) {
          expression=XmlMapUtil.convertToExpression(((TreeNode)sourceNode).getXpath());
        }
 else {
          expression=expression + "String_Node_Str" + XmlMapUtil.convertToExpression(((TreeNode)sourceNode).getXpath());
        }
      }
 else       if (objects.getType() == TransferdType.VAR) {
        String tableName="String_Node_Str";
        VarNodeEditPart part=(VarNodeEditPart)obj;
        sourceNode=(VarNode)part.getModel();
        if (sourceNode.eContainer() instanceof VarTable) {
          tableName=((VarTable)sourceNode.eContainer()).getName();
        }
        if (expression == null) {
          expression=tableName + "String_Node_Str" + sourceNode.getName();
        }
 else {
          expression=expression + "String_Node_Str" + tableName+ "String_Node_Str"+ sourceNode.getName();
        }
      }
      targetTree.setExpressionFilter(expression);
      FilterConnection connection=XmlmapFactory.eINSTANCE.createFilterConnection();
      connection.setSource(sourceNode);
      connection.setTarget(targetTree);
      targetTree.getFilterIncomingConnections().add(connection);
      sourceNode.getFilterOutGoingConnections().add(connection);
      xmlMapData.getConnections().add(connection);
    }
  }
}

Fixed version (ground truth):
@Override public void execute(){
  AbstractInOutTree targetTree=(AbstractInOutTree)targetEditPart.getModel();
  String expression=targetTree.getExpressionFilter();
  if (objects.getToTransfer() != null) {
    for (    Object obj : objects.getToTransfer()) {
      AbstractNode sourceNode=null;
      if (objects.getType() == TransferdType.INPUT) {
        TreeNodeEditPart part=(TreeNodeEditPart)obj;
        sourceNode=(TreeNode)part.getModel();
        if (expression == null) {
          expression=XmlMapUtil.convertToExpression(((TreeNode)sourceNode).getXpath());
        }
 else {
          expression=expression + "String_Node_Str" + XmlMapUtil.convertToExpression(((TreeNode)sourceNode).getXpath());
        }
      }
 else       if (objects.getType() == TransferdType.VAR) {
        String tableName="String_Node_Str";
        VarNodeEditPart part=(VarNodeEditPart)obj;
        sourceNode=(VarNode)part.getModel();
        if (sourceNode.eContainer() instanceof VarTable) {
          tableName=((VarTable)sourceNode.eContainer()).getName();
        }
        if (expression == null) {
          expression=tableName + "String_Node_Str" + sourceNode.getName();
        }
 else {
          expression=expression + "String_Node_Str" + tableName+ "String_Node_Str"+ sourceNode.getName();
        }
      }
      if (sourceNode != null) {
        targetTree.setExpressionFilter(expression);
        FilterConnection connection=XmlmapFactory.eINSTANCE.createFilterConnection();
        connection.setSource(sourceNode);
        connection.setTarget(targetTree);
        targetTree.getFilterIncomingConnections().add(connection);
        sourceNode.getFilterOutGoingConnections().add(connection);
        xmlMapData.getConnections().add(connection);
      }
    }
  }
}