[474085] Test case, passes in JUnit, fails interactively
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UMLConsoleTests.java b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UMLConsoleTests.java
index ebcce3f..3f0c4c8 100644
--- a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UMLConsoleTests.java
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UMLConsoleTests.java
@@ -63,6 +63,37 @@
 //		ocl.dispose();
 	}
 
+	public void testConsole_Bug474085() throws Exception {
+		OCL ocl = consolePage.getEditorOCL();
+		ResourceSet resourceSet = ocl.getResourceSet();
+
+		URI testModelURI = getProjectFileURI("Bug474085.uml");
+        Resource umlResource = resourceSet.getResource(testModelURI, true);
+        org.eclipse.uml2.uml.Model model = (org.eclipse.uml2.uml.Model)umlResource.getContents().get(0);
+        org.eclipse.uml2.uml.StateMachine sm = (org.eclipse.uml2.uml.StateMachine)model.getOwnedType("StateMachine0");
+        org.eclipse.uml2.uml.Region region0a = sm.getRegion("Region0");
+        org.eclipse.uml2.uml.Transition transition0a = region0a.getTransition("Transition0");
+        org.eclipse.uml2.uml.Transition transition1a = region0a.getTransition("Transition1");
+        org.eclipse.uml2.uml.Transition transition2a = region0a.getTransition("Transition2");
+        org.eclipse.uml2.uml.State state0 = (org.eclipse.uml2.uml.State)region0a.getSubvertex("State0");
+        org.eclipse.uml2.uml.Region region0b = state0.getRegion("Region0");
+        org.eclipse.uml2.uml.Transition transition3b = region0b.getTransition("Transition3");
+//        org.eclipse.uml2.uml.Property attribute1 = class1.getOwnedAttribute("Attribute1", null);
+        //
+		assertConsoleResult(consolePage, transition3b, "self.extension_EnsureRole", "Transition3$EnsureRole\n");
+		assertConsoleResult(consolePage, transition3b, "self.extension_EnsureRole.role", "'user=bob'\n'role=admin'\n");
+		assertConsoleResult(consolePage, transition2a, "self.extension_EnsureRole.role", "'One'\n'Two'\n");
+		assertConsoleResult(consolePage, transition1a, "self.extension_EnsureRole.role", "'One'\n");
+		assertConsoleResult(consolePage, transition0a, "self.extension_EnsureRole.role", "");
+//		assertConsoleResult(consolePage, class2, "self.extension_Stereotype2.stereotype1", "«Stereotype1»model::Class1\n");
+		//
+//		assertConsoleResult(consolePage, attribute1, "self.extension_Stereotype1", "Attribute1$Stereotype1\n");		// Bug 419557
+//		assertConsoleResult(consolePage, attribute1, "self.extension_Stereotype2", "<error>null\n</error>");
+		//
+		consolePage.cancelValidation();
+//		ocl.dispose();
+	}
+
 	@SuppressWarnings({"unused"})
 	public void testConsole_UML() throws Exception {
 		doDelete(PLUGIN_ID);
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/models/Bug474085.profile.uml b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/models/Bug474085.profile.uml
new file mode 100644
index 0000000..4f78689
--- /dev/null
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/models/Bug474085.profile.uml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Profile xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_UI9HsIRoEeSbXcAiNcJFPQ" name="ensureRole" metaclassReference="_Xedq8IRoEeSbXcAiNcJFPQ">
+  <eAnnotations xmi:id="_zJUBYIRoEeSbXcAiNcJFPQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <contents xmi:type="ecore:EPackage" xmi:id="_SwHvsYRsEeSbXcAiNcJFPQ" name="ensureRole" nsURI="http:///schemas/ensureRole/_SwHvsIRsEeSbXcAiNcJFPQ/1" nsPrefix="ensureRole">
+      <eAnnotations xmi:id="_SwIWwYRsEeSbXcAiNcJFPQ" source="PapyrusVersion">
+        <details xmi:id="_SwIWwoRsEeSbXcAiNcJFPQ" key="Version" value="0.0.2"/>
+        <details xmi:id="_SwIWw4RsEeSbXcAiNcJFPQ" key="Comment" value=""/>
+        <details xmi:id="_SwIWxIRsEeSbXcAiNcJFPQ" key="Copyright" value=""/>
+        <details xmi:id="_SwIWxYRsEeSbXcAiNcJFPQ" key="Date" value="2014-12-15"/>
+        <details xmi:id="_SwIWxoRsEeSbXcAiNcJFPQ" key="Author" value=""/>
+      </eAnnotations>
+      <eClassifiers xmi:type="ecore:EClass" xmi:id="_SwHvsoRsEeSbXcAiNcJFPQ" name="EnsureRole">
+        <eAnnotations xmi:id="_SwHvs4RsEeSbXcAiNcJFPQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_eLlqQIRoEeSbXcAiNcJFPQ"/>
+        <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_SwHvtIRsEeSbXcAiNcJFPQ" name="base_Transition" ordered="false" lowerBound="1">
+          <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
+        </eStructuralFeatures>
+        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_SwHvtoRsEeSbXcAiNcJFPQ" name="role" ordered="false" lowerBound="1" upperBound="-1" defaultValueLiteral="">
+          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+        </eStructuralFeatures>
+      </eClassifiers>
+    </contents>
+  </eAnnotations>
+  <elementImport xmi:id="_Xedq8IRoEeSbXcAiNcJFPQ" alias="Transition">
+    <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Transition"/>
+  </elementImport>
+  <packageImport xmi:id="_p_GUkIRoEeSbXcAiNcJFPQ">
+    <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+  </packageImport>
+  <packagedElement xmi:type="uml:Stereotype" xmi:id="_eLlqQIRoEeSbXcAiNcJFPQ" name="EnsureRole">
+    <ownedAttribute xmi:id="_f-9sYIRoEeSbXcAiNcJFPQ" name="base_Transition" association="_f--TcIRoEeSbXcAiNcJFPQ">
+      <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Transition"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:id="_g_8oQIRoEeSbXcAiNcJFPQ" name="role">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kwStYIRoEeSbXcAiNcJFPQ" value="1"/>
+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kwTUcIRoEeSbXcAiNcJFPQ" value="*"/>
+      <defaultValue xmi:type="uml:LiteralString" xmi:id="_u8n-gIRoEeSbXcAiNcJFPQ" name="default" value=""/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Extension" xmi:id="_f--TcIRoEeSbXcAiNcJFPQ" name="E_EnsureRole_Transition" memberEnd="_f--TcYRoEeSbXcAiNcJFPQ _f-9sYIRoEeSbXcAiNcJFPQ">
+    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_f--TcYRoEeSbXcAiNcJFPQ" name="extension_EnsureRole" type="_eLlqQIRoEeSbXcAiNcJFPQ" aggregation="composite" association="_f--TcIRoEeSbXcAiNcJFPQ"/>
+  </packagedElement>
+</uml:Profile>
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/models/Bug474085.uml b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/models/Bug474085.uml
new file mode 100644
index 0000000..7e07426
--- /dev/null
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/models/Bug474085.uml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:ensureRole="http:///schemas/ensureRole/_SwHvsIRsEeSbXcAiNcJFPQ/1" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http:///schemas/ensureRole/_SwHvsIRsEeSbXcAiNcJFPQ/1 Bug474085.profile.uml#_SwHvsYRsEeSbXcAiNcJFPQ">
+  <uml:Model xmi:id="_qK-MUIBVEeSC14s56zC7NQ" name="model">
+    <packagedElement xmi:type="uml:StateMachine" xmi:id="_qLJLcIBVEeSC14s56zC7NQ" name="StateMachine0">
+      <region xmi:id="_qLMOwIBVEeSC14s56zC7NQ" name="Region0">
+        <transition xmi:id="_wllhgIBkEeSC14s56zC7NQ" name="Transition0" source="_uwN7UIBkEeSC14s56zC7NQ" target="_lgSBAIBkEeSC14s56zC7NQ"/>
+        <transition xmi:id="_xcpFUIBkEeSC14s56zC7NQ" name="Transition1" source="_uwN7UIBkEeSC14s56zC7NQ" target="_vgbQQIBkEeSC14s56zC7NQ"/>
+        <transition xmi:id="_yE2U0IBkEeSC14s56zC7NQ" name="Transition2" source="_vgbQQIBkEeSC14s56zC7NQ" target="_lgSBAIBkEeSC14s56zC7NQ"/>
+        <transition xmi:id="_zpun8IBkEeSC14s56zC7NQ" name="Transition3" source="_lgSBAIBkEeSC14s56zC7NQ" target="_zEU00IBkEeSC14s56zC7NQ"/>
+        <subvertex xmi:type="uml:State" xmi:id="_lgSBAIBkEeSC14s56zC7NQ" name="State0">
+          <region xmi:id="_nOXTcIBkEeSC14s56zC7NQ" name="Region0">
+            <transition xmi:id="_qELqAIBkEeSC14s56zC7NQ" name="Transition0" source="_nnsZcIBkEeSC14s56zC7NQ" target="_pExbcIBkEeSC14s56zC7NQ"/>
+            <transition xmi:id="_rC5VAIBkEeSC14s56zC7NQ" name="Transition1" source="_pExbcIBkEeSC14s56zC7NQ" target="_paXQ8IBkEeSC14s56zC7NQ"/>
+            <transition xmi:id="_-T0xAIRzEeSbXcAiNcJFPQ" name="Transition2" source="_nnsZcIBkEeSC14s56zC7NQ" target="_9qKwAIRzEeSbXcAiNcJFPQ"/>
+            <transition xmi:id="__AaxQIRzEeSbXcAiNcJFPQ" name="Transition3" source="_9qKwAIRzEeSbXcAiNcJFPQ" target="_pExbcIBkEeSC14s56zC7NQ"/>
+            <transition xmi:id="__iEFwIRzEeSbXcAiNcJFPQ" name="Transition4" source="_pExbcIBkEeSC14s56zC7NQ" target="_9Leo4IRzEeSbXcAiNcJFPQ"/>
+            <transition xmi:id="_ASW6QIR0EeSbXcAiNcJFPQ" name="Transition5" source="_9Leo4IRzEeSbXcAiNcJFPQ" target="_paXQ8IBkEeSC14s56zC7NQ"/>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_nnsZcIBkEeSC14s56zC7NQ" name="Initial0"/>
+            <subvertex xmi:type="uml:State" xmi:id="_pExbcIBkEeSC14s56zC7NQ" name="zuff"/>
+            <subvertex xmi:type="uml:FinalState" xmi:id="_paXQ8IBkEeSC14s56zC7NQ" name="FinalState0"/>
+            <subvertex xmi:type="uml:State" xmi:id="_9Leo4IRzEeSbXcAiNcJFPQ" name="State0"/>
+            <subvertex xmi:type="uml:State" xmi:id="_9qKwAIRzEeSbXcAiNcJFPQ" name="State1"/>
+          </region>
+        </subvertex>
+        <subvertex xmi:type="uml:Pseudostate" xmi:id="_uwN7UIBkEeSC14s56zC7NQ" name="Initial0"/>
+        <subvertex xmi:type="uml:State" xmi:id="_vgbQQIBkEeSC14s56zC7NQ" name="State1"/>
+        <subvertex xmi:type="uml:FinalState" xmi:id="_zEU00IBkEeSC14s56zC7NQ" name="FinalState0"/>
+      </region>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Node" xmi:id="_kZEFYCu6EeWNw6GF_Fgubg" name="Node1"/>
+    <packagedElement xmi:type="uml:Node" xmi:id="_k4oWQCu6EeWNw6GF_Fgubg" name="Node2"/>
+    <profileApplication xmi:id="_RNgeMCu0EeWNw6GF_Fgubg">
+      <eAnnotations xmi:id="_RNqPMCu0EeWNw6GF_Fgubg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="Bug474085.profile.uml#_SwHvsYRsEeSbXcAiNcJFPQ"/>
+      </eAnnotations>
+      <appliedProfile href="Bug474085.profile.uml#_UI9HsIRoEeSbXcAiNcJFPQ"/>
+    </profileApplication>
+  </uml:Model>
+  <ensureRole:EnsureRole xmi:id="_e75g0Cu0EeWNw6GF_Fgubg" base_Transition="__AaxQIRzEeSbXcAiNcJFPQ">
+    <role>user=bob</role>
+    <role>role=admin</role>
+  </ensureRole:EnsureRole>
+  <ensureRole:EnsureRole xmi:id="_0A9E0DgyEeWvTom2zO3SHg" base_Transition="_wllhgIBkEeSC14s56zC7NQ"/>
+  <ensureRole:EnsureRole xmi:id="_1QfaEDgyEeWvTom2zO3SHg" base_Transition="_xcpFUIBkEeSC14s56zC7NQ">
+    <role>One</role>
+  </ensureRole:EnsureRole>
+  <ensureRole:EnsureRole xmi:id="_4St08DgyEeWvTom2zO3SHg" base_Transition="_yE2U0IBkEeSC14s56zC7NQ">
+    <role>One</role>
+    <role>Two</role>
+  </ensureRole:EnsureRole>
+</xmi:XMI>