public static ToscaGraph createTOSCAGraph(TTopologyTemplate topologyTemplate) { ToscaGraph graph = new ToscaGraph(new ToscaEdgeFactory()); @NonNull List<TRelationshipTemplate> relationshipTemplates = topologyTemplate.getRelationshipTemplates(); @NonNull List<TNodeTemplate> nodeTemplates = topologyTemplate.getNodeTemplates(); Map<TNodeTemplate, ToscaNode> nodes = new HashMap<>(); for (TNodeTemplate nodeTemplate : nodeTemplates) { ToscaNode node = createAndInitializeTOSCANode(nodeTemplate); nodes.put(nodeTemplate, node); graph.addVertex(node); } for (TRelationshipTemplate tRelationshipTemplate : relationshipTemplates) { ToscaNode source = nodes.get(tRelationshipTemplate.getSourceElement().getRef()); ToscaNode target = nodes.get(tRelationshipTemplate.getTargetElement().getRef()); ToscaEdge edge = graph.addEdge(source, target); initializeTOSCAEdge(tRelationshipTemplate, edge); } return graph; }