private void printNode(PlanNode node, String label, String color) {
   String nodeId = idGenerator.getNodeId(node);
   label = escapeSpecialCharacters(label);
   output
       .append(nodeId)
       .append(
           format(
               "[label=\"{%s}\", style=\"rounded, filled\", shape=record, fillcolor=%s]",
               label, color))
       .append(';')
       .append('\n');
 }
 private void printNode(PlanNode node, String label, String details, String color) {
   if (details.length() == 0) {
     printNode(node, label, color);
   } else {
     String nodeId = idGenerator.getNodeId(node);
     label = escapeSpecialCharacters(label);
     details = escapeSpecialCharacters(details);
     output
         .append(nodeId)
         .append(
             format(
                 "[label=\"{%s|%s}\", style=\"rounded, filled\", shape=record, fillcolor=%s]",
                 label, details, color))
         .append(';')
         .append('\n');
   }
 }
    private void printEdge(PlanNode from, PlanNode to) {
      String fromId = idGenerator.getNodeId(from);
      String toId = idGenerator.getNodeId(to);

      output.append(fromId).append(" -> ").append(toId).append(';').append('\n');
    }