visualization/visualization-api/src/main/java/se/jguru/nazgul/tools/visualization/api/dot/EdgeRenderer.java
@Override
    protected String doRender(final RenderConfiguration config, final Edge edge) {

        // Edges can be from/to Nodes and Subgraphs. Pick the correct ID source.
        final String edgeID = edge.getNodeID() != null
                ? nodeIdRenderer.doRender(config, edge.getNodeID())
                : quote(edge.getSubgraph().getId());

        // Render the attributes after the RightSideEdge.
        final RightSideEdge rightSideEdge = edge.getRightSideEdge();
        return config.getIndent() + edgeID + " "
                + rightSideEdgeRenderer.doRender(config, rightSideEdge) + " "
                + attributeRenderer.doRender(config, edge.getAttributes());
    }
@Override
    protected String doRender(final RenderConfiguration config, final Edge edge) {

        // Edges can be from/to Nodes and Subgraphs. Pick the correct ID source.
        final String edgeID = edge.getNodeID() != null
                ? nodeIdRenderer.doRender(config, edge.getNodeID())
                : quote(edge.getSubgraph().getId());

        // Render the attributes after the RightSideEdge.
        final RightSideEdge rightSideEdge = edge.getRightSideEdge();
        return config.getIndent() + edgeID + " "
                + rightSideEdgeRenderer.doRender(config, rightSideEdge) + " "
                + attributeRenderer.doRender(config, edge.getAttributes());
    }
<p>Renders the supplied Edge according to the following structure:</p>
<pre>(node_id | subgraph) edgeRHS [ attr_list ]</pre>
<p>... where ... </p>
<pre>edgeRHS   : edgeop (node_id | subgraph) [ edgeRHS ]</pre>

@param config The non-null RenderConfiguration.
@param edge   The non-null Edge to be rendered.