code: @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());
      }
docs: <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.