code: public String getLabel() {
          if (label == null) {
              // Lazily construct an edge label from the head and tail nodes.
              StringBuilder label = new StringBuilder();
              label.append(headNode.getLabel());
              label.append("<--");
              for (Hypernode tailNode : tailNodes) {
                  label.append(tailNode.getLabel());
                  label.append(",");
              }
              if (tailNodes.length > 0) {
                  label.deleteCharAt(label.length()-1);
              }
              return label.toString();
          }
          return label;
      }
docs: Gets a name for this edge.