Added sub-classes to diagrams
diff --git a/examples/org.eclipse.epsilon.examples.picto.xtext.domainmodel.picto/entity2graphviz.egl b/examples/org.eclipse.epsilon.examples.picto.xtext.domainmodel.picto/entity2graphviz.egl
index 59d9d7a..e846413 100644
--- a/examples/org.eclipse.epsilon.examples.picto.xtext.domainmodel.picto/entity2graphviz.egl
+++ b/examples/org.eclipse.epsilon.examples.picto.xtext.domainmodel.picto/entity2graphviz.egl
@@ -9,7 +9,7 @@
 	[%=e.getNodeName()%][shape=none, margin=0, label=<[%=e.getLabel()%]>]
 [%}%]
 
-[%for (f in e.features.flatten().select(f|f.type.isTypeOf(Entity))){%]
+[%for (f in e.features.flatten().select(f|f.type.isTypeOf(Entity) and f.type <> e)){%]
 	[%=f.eContainer.getNodeName()%]->[%=f.type.getNodeName()%][arrowhead=[%=f.getArrow()%],arrowtail=none,tooltip="[%=f.name%]"];
 [%}%]
 
@@ -17,6 +17,10 @@
 	[%=e.superType.getNodeName()%]->[%=e.getNodeName()%][arrowhead=none,arrowtail=empty,dir=back];
 [%}%]
 
+[%for (s in Entity.all.select(en|en.superType = e)){%]
+	[%=e.getNodeName()%]->[%=s.getNodeName()%][arrowhead=none,arrowtail=empty,dir=back];
+[%}%]
+
 }
 
 [%
@@ -76,6 +80,7 @@
 	visibleEntities.add(e);
 	visibleEntities.addAll(e.features.select(f|f.type.isTypeOf(Entity)).collect(f|f.type));
 	if (e.superType.isDefined()) visibleEntities.add(e.superType);
+	visibleEntities.addAll(Entity.all.select(en|en.superType = e));
 	return visibleEntities;
 }