private void addNodesInfo(List<DiagramNodeInfo> nodeInfos, Node[] nodes, String prefix) { for (Node node: nodes) { nodeInfos.add(new DiagramNodeInfo( prefix + node.getId(), (Integer) node.getMetaData().get("x"), (Integer) node.getMetaData().get("y"), (Integer) node.getMetaData().get("width"), (Integer) node.getMetaData().get("height"))); if (node instanceof NodeContainer) { addNodesInfo(nodeInfos, ((NodeContainer) node).getNodes(), prefix + node.getId() + ":"); } } }