if (node!=null) return node;
if ( (hidePrivate && atom.getType().isPrivate)
|| (hideMeta && atom.getType().isMeta)
|| !view.nodeVisible(atom, instance)) return null;
// Make the node
DotColor color = view.nodeColor(atom, instance);
DotStyle style = view.nodeStyle(atom, instance);
DotShape shape = view.shape(atom, instance);
String label = atomname(atom, false);
node = new GraphNode(graph, atom, label).set(shape).set(color.getColor(view.getNodePalette())).set(style);
// Get the label based on the sets and relations
String setsLabel="";
boolean showLabelByDefault = view.showAsLabel.get(null);
for (AlloySet set: instance.atom2sets(atom)) {
String x = view.label.get(set); if (x.length()==0) continue;