+ /**\r
+ * Synchronize any configurable aspects of the typical diagram instance itself.\r
+ * Every rule executed here comes from the ontology, nothing is fixed. \r
+ * \r
+ * @param graph\r
+ * @param typicalInfo\r
+ * @param template\r
+ * @param instance\r
+ * @return if any changes were made. \r
+ * @throws DatabaseException\r
+ */\r
+ private boolean synchronizeDiagramChanges(\r
+ WriteGraph graph,\r
+ TypicalInfo typicalInfo,\r
+ Resource template,\r
+ Resource instance)\r
+ throws DatabaseException\r
+ {\r
+ boolean changed = false;\r
+ for (Resource rule : graph.getObjects(template, MOD.HasTypicalSynchronizationRule)) {\r
+ if (selectedRules != null && !selectedRules.contains(rule))\r
+ continue;\r
+ ITypicalSynchronizationRule r = graph.getPossibleAdapter(rule, ITypicalSynchronizationRule.class);\r
+ if (r != null)\r
+ changed |= r.synchronize(graph, template, instance, typicalInfo);\r
+ }\r
+ return changed;\r
+ }\r
+\r