private void processLabel(Edge edge, Element edgeInfo) {
   Element label = null;
   if (edgeInfo != null) {
     label = getLabelElement(edgeInfo);
   }
   if (label != null) {
     Point offset = new Point();
     offset.x = Integer.valueOf(getAttribute(label, "x")).intValue();
     offset.y = Integer.valueOf(getAttribute(label, "y")).intValue();
     edge.getLabel().setOffset(offset);
   }
 }
 private void write(String indent, Edge edge, Element element) {
   boolean childAdded = false;
   Point offset = edge.getLabel().getOffset();
   if (offset != null) {
     childAdded = true;
     addText(indent + "  ", element);
     Element label = addElement(element, "label");
     addAttribute(label, "x", String.valueOf(offset.x));
     addAttribute(label, "y", String.valueOf(offset.y));
   }
   Iterator bendpoints = edge.getBendPoints().iterator();
   while (bendpoints.hasNext()) {
     childAdded = true;
     addText(indent + "  ", element);
     Element bendPoint = addElement(element, "bendpoint");
     write(indent + "  ", (BendPoint) bendpoints.next(), bendPoint);
   }
   if (childAdded) {
     addText(indent, element);
   }
 }