// nodes
GraphNode[] nodes = new GraphNode[0];
nodes = viewGraph.getNodes().toArray(nodes);
nodesProperties = new NodeRenderingProperty[nodes.length];
for (int i = 0; i < nodes.length; ++i) {
GraphNode n = nodes[i];
NodeRenderingProperty nodeProp =
new NodeRenderingProperty(i & ID_MASK_INV | NODE_MASK, n);
nodesProperties[i] = nodeProp;
nodePropMap.put(n, nodeProp);
}
// edges
GraphEdge[] edges = new GraphEdge[0];
edges = viewGraph.getEdges().toArray(edges);
edgesProperties = new EdgeRenderingProperty[edges.length];
for (int i = 0; i < edges.length; ++i) {
GraphEdge edge = edges[i];
GraphNode n1 = edge.getHead();
GraphNode n2 = edge.getTail();
NodeRenderingProperty p1 = nodePropMap.get(n1);
NodeRenderingProperty p2 = nodePropMap.get(n2);
if (p1 == null || p2 == null) {
continue;
}