public Node buildGraph(GraphContext graphContext, Node parentGroupNode, Node precedingNode) { NodeList nl = new NodeList(); // Create node as subnode of parent node Node newNode = graphContext.createNode(this.getNavigationStep()); nl.add(newNode); graphContext.getHierarchyManager().groupSubgraph(nl, parentGroupNode); String contentString = ""; if (getNavigationStep() instanceof AssociationNavigationStep || getNavigationStep() instanceof IdentityNavigationStep) { contentString = ((AbstractNavigationStep) this.getNavigationStep()).contentToString(null, 0); } graphContext.setLabelTextForNode(this.getNodeName(), contentString, newNode); if (precedingNode != null) { graphContext.connectNodes(precedingNode, newNode); } return newNode; }