code: public Set<Node> getNodes() {
          NodeId startNodeId = NodeId.of(NodeId.NodeType.VAR, start());
          return Collections.singleton(new Node(startNodeId));
      }
docs: When building the query plan spanning tree, every fragment has a start defined with a variable
  Some fragments are actually edges in JanusGraph (such as isa, sub, etc.)
  These require another variable for the end() variable, and to force the MST algorithm to
  traverse these JanusGraph edges too, we insert a fake middle node representing the edge
  @return