private PositionType calculateFlowPosition(
     final LayoutVertexFactsType vertex, final BigInteger port) throws ParseException {
   PositionType position = ANF_FACTORY.createPositionType();
   LayoutRectangleType rect = getRectangleFromVertex(vertex);
   // TODO decide based on port
   position.setX(convertToBigDecimal(rect.getX()));
   position.setY(convertToBigDecimal(rect.getY()));
   return position;
 }
 private void convertLayoutRectangleAttribute(
     final LayoutRectangleType rect, final GraphicsType graphics) throws ParseException {
   final PositionType position = ANF_FACTORY.createPositionType();
   position.setX(convertToBigDecimal(rect.getX()));
   position.setY(convertToBigDecimal(rect.getY()));
   graphics.getPosition().add(position);
   final SizeType size = ANF_FACTORY.createSizeType();
   size.setHeight(convertToBigDecimal(rect.getH()));
   size.setWidth(convertToBigDecimal(rect.getW()));
   graphics.setSize(size);
 }
 private Collection<PositionType> convertFlowPositions(final LayoutFlowFactsType flowLayout)
     throws ParseException {
   final ArrayList<PositionType> positions = new ArrayList<PositionType>();
   for (final JAXBElement<?> obj :
       flowLayout.getAttributes().getAutosizeOrBackgroundColorOrBendable()) {
     if (obj.getValue() instanceof LayoutPointsType) {
       final LayoutPointsType points = (LayoutPointsType) obj.getValue();
       for (final LayoutPointType point : points.getValue()) {
         final PositionType position = ANF_FACTORY.createPositionType();
         position.setX(convertToBigDecimal(point.getX()));
         position.setY(convertToBigDecimal(point.getY()));
         positions.add(position);
       }
     }
   }
   return positions;
 }