- for(Resource type : g.getObjects(relation, MOD.ImpliesDiagramConnectionRelationType))\r
- g.claim(terminalRelation, L0.InstanceOf, type);\r
+ boolean interfaceGeneratesComponentExternally = !g.hasStatement(relation, MOD.GeneratesConnectionComponentInternally);\r
+ for(Resource type : g.getObjects(relation, MOD.ImpliesDiagramConnectionRelationType)) {\r
+ // #6636: Only instantiate type if it does not generate a component\r
+ // when interface is marked to generate component internally.\r
+ boolean shouldInstantiate = interfaceGeneratesComponentExternally || \r
+ g.getAssertedObjects(type, MOD.DiagramConnectionRelationToComponentType).isEmpty();\r
+ if (shouldInstantiate)\r
+ g.claim(terminalRelation, L0.InstanceOf, type);\r
+ }\r