Program: 190028
Project: 190028
Buggy source:
private void writeEdges(XMLStreamWriter xmlWriter,HierarchicalGraph graph) throws Exception {
  if (cancel) {
    return;
  }
  xmlWriter.writeStartElement(EDGES);
  AttributeColumn dynamicCol=dynamicCol=attributeModel.getEdgeTable().getColumn(DynamicModel.TIMEINTERVAL_COLUMN);
  EdgeIterable edgeIterable=exportHierarchy ? graph.getEdgesTree() : graph.getEdgesAndMetaEdges();
  for (  Edge edge : edgeIterable) {
    xmlWriter.writeStartElement(EDGE);
    if (edge.getEdgeData().getId() != null && !edge.getEdgeData().getId().equals(Integer.toString(edge.getId()))) {
      xmlWriter.writeAttribute(EDGE_ID,edge.getEdgeData().getId());
    }
    xmlWriter.writeAttribute(EDGE_SOURCE,edge.getSource().getNodeData().getId());
    xmlWriter.writeAttribute(EDGE_TARGET,edge.getTarget().getNodeData().getId());
    if (edge.isDirected() && graphModel.isMixed()) {
      xmlWriter.writeAttribute(EDGE_TYPE,"String_Node_Str");
    }
 else     if (!edge.isDirected() && graphModel.isMixed()) {
      xmlWriter.writeAttribute(EDGE_TYPE,"String_Node_Str");
    }
    String label=edge.getEdgeData().getLabel();
    if (label != null && !label.isEmpty() && !label.equals(edge.getEdgeData().getId())) {
      xmlWriter.writeAttribute(EDGE_LABEL,label);
    }
    float weight=edge.getWeight();
    if (weight != 1f) {
      xmlWriter.writeAttribute(EDGE_WEIGHT,"String_Node_Str" + weight);
    }
    if (exportDynamic && dynamicCol != null && visibleInterval != null) {
      TimeInterval timeInterval=(TimeInterval)edge.getEdgeData().getAttributes().getValue(dynamicCol.getIndex());
      if (timeInterval != null) {
        writeTimeInterval(xmlWriter,timeInterval);
      }
    }
    writeEdgeColor(xmlWriter,edge);
    if (exportAttributes && edge.getEdgeData().getAttributes() != null) {
      AttributeRow attributeRow=(AttributeRow)edge.getEdgeData().getAttributes();
      writeAttValue(xmlWriter,attributeRow,visibleInterval);
    }
    xmlWriter.writeEndElement();
    Progress.progress(progress);
    if (cancel) {
      break;
    }
  }
  xmlWriter.writeEndElement();
}

Fixed version (ground truth):
private void writeEdges(XMLStreamWriter xmlWriter,HierarchicalGraph graph) throws Exception {
  if (cancel) {
    return;
  }
  xmlWriter.writeStartElement(EDGES);
  AttributeColumn dynamicCol=dynamicCol=attributeModel.getEdgeTable().getColumn(DynamicModel.TIMEINTERVAL_COLUMN);
  EdgeIterable edgeIterable=exportHierarchy ? graph.getEdgesTree() : graph.getEdgesAndMetaEdges();
  for (  Edge edge : edgeIterable) {
    xmlWriter.writeStartElement(EDGE);
    if (edge.getEdgeData().getId() != null && !edge.getEdgeData().getId().equals(Integer.toString(edge.getId()))) {
      xmlWriter.writeAttribute(EDGE_ID,edge.getEdgeData().getId());
    }
    xmlWriter.writeAttribute(EDGE_SOURCE,edge.getSource().getNodeData().getId());
    xmlWriter.writeAttribute(EDGE_TARGET,edge.getTarget().getNodeData().getId());
    if (edge.isDirected() && graphModel.isMixed()) {
      xmlWriter.writeAttribute(EDGE_TYPE,"String_Node_Str");
    }
 else     if (!edge.isDirected() && graphModel.isMixed()) {
      xmlWriter.writeAttribute(EDGE_TYPE,"String_Node_Str");
    }
    String label=edge.getEdgeData().getLabel();
    if (label != null && !label.isEmpty() && !label.equals(edge.getEdgeData().getId())) {
      xmlWriter.writeAttribute(EDGE_LABEL,label);
    }
    float weight=edge.getWeight();
    if (weight != 1f) {
      xmlWriter.writeAttribute(EDGE_WEIGHT,"String_Node_Str" + weight);
    }
    if (exportDynamic && dynamicCol != null && visibleInterval != null) {
      TimeInterval timeInterval=(TimeInterval)edge.getEdgeData().getAttributes().getValue(dynamicCol.getIndex());
      if (timeInterval != null) {
        writeTimeInterval(xmlWriter,timeInterval);
      }
    }
    writeEdgeColor(xmlWriter,edge);
    if (exportAttributes && edge.getEdgeData().getAttributes() != null) {
      AttributeRow attributeRow=(AttributeRow)edge.getEdgeData().getAttributes();
      writeAttValues(xmlWriter,attributeRow,visibleInterval);
    }
    xmlWriter.writeEndElement();
    Progress.progress(progress);
    if (cancel) {
      break;
    }
  }
  xmlWriter.writeEndElement();
}