[205478] Update existing getting started articles.
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article.html b/docs/articles/Introduction_to_UML2_Profiles/article.html
index 961779d..42f5017 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article.html
+++ b/docs/articles/Introduction_to_UML2_Profiles/article.html
@@ -34,19 +34,19 @@
  <o:DocumentProperties>
   <o:Author>khussey</o:Author>
   <o:Template>Normal</o:Template>
-  <o:LastAuthor>Kenn Hussey</o:LastAuthor>
-  <o:Revision>164</o:Revision>
-  <o:TotalTime>4670</o:TotalTime>
+  <o:LastAuthor>jbruck</o:LastAuthor>
+  <o:Revision>179</o:Revision>
+  <o:TotalTime>4753</o:TotalTime>
   <o:Created>2004-10-25T17:54:00Z</o:Created>
-  <o:LastSaved>2006-07-18T18:25:00Z</o:LastSaved>
-  <o:Pages>16</o:Pages>
-  <o:Words>8130</o:Words>
-  <o:Characters>46343</o:Characters>
+  <o:LastSaved>2008-07-11T19:41:00Z</o:LastSaved>
+  <o:Pages>1</o:Pages>
+  <o:Words>8775</o:Words>
+  <o:Characters>50024</o:Characters>
   <o:Company>Rational Software</o:Company>
-  <o:Lines>386</o:Lines>
-  <o:Paragraphs>108</o:Paragraphs>
-  <o:CharactersWithSpaces>54365</o:CharactersWithSpaces>
-  <o:Version>10.6735</o:Version>
+  <o:Lines>416</o:Lines>
+  <o:Paragraphs>117</o:Paragraphs>
+  <o:CharactersWithSpaces>58682</o:CharactersWithSpaces>
+  <o:Version>10.6830</o:Version>
  </o:DocumentProperties>
 </xml><![endif]--><!--[if gte mso 9]><xml>
  <w:WordDocument>
@@ -70,15 +70,22 @@
  @font-face
 	{font-family:"MS Mincho";
 	panose-1:2 2 6 9 4 2 5 8 3 4;
-	mso-font-alt:"\FF2D\FF33 \660E\671D";
+	mso-font-alt:"MS Mincho";
 	mso-font-charset:128;
 	mso-generic-font-family:modern;
 	mso-font-pitch:fixed;
 	mso-font-signature:-1610612033 1757936891 16 0 131231 0;}
 @font-face
+	{font-family:Tahoma;
+	panose-1:2 11 6 4 3 5 4 4 2 4;
+	mso-font-charset:238;
+	mso-generic-font-family:swiss;
+	mso-font-pitch:variable;
+	mso-font-signature:1627421319 -2147483648 8 0 66047 0;}
+@font-face
 	{font-family:Verdana;
 	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
+	mso-font-charset:238;
 	mso-generic-font-family:swiss;
 	mso-font-pitch:variable;
 	mso-font-signature:536871559 0 0 0 415 0;}
@@ -138,6 +145,15 @@
 	{color:purple;
 	text-decoration:underline;
 	text-underline:single;}
+p.MsoDocumentMap, li.MsoDocumentMap, div.MsoDocumentMap
+	{mso-style-noshow:yes;
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	background:navy;
+	font-size:12.0pt;
+	font-family:Tahoma;
+	mso-fareast-font-family:"Times New Roman";}
 p
 	{mso-margin-top-alt:auto;
 	margin-right:0in;
@@ -188,6 +204,52 @@
 	mso-paper-source:0;}
 div.Section1
 	{page:Section1;}
+ /* List Definitions */
+ @list l0
+	{mso-list-id:2098360590;
+	mso-list-type:hybrid;
+	mso-list-template-ids:-501428010 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
+@list l0:level1
+	{mso-level-text:"%1\)";
+	mso-level-tab-stop:.5in;
+	mso-level-number-position:left;
+	text-indent:-.25in;}
+@list l0:level2
+	{mso-level-tab-stop:1.0in;
+	mso-level-number-position:left;
+	text-indent:-.25in;}
+@list l0:level3
+	{mso-level-tab-stop:1.5in;
+	mso-level-number-position:left;
+	text-indent:-.25in;}
+@list l0:level4
+	{mso-level-tab-stop:2.0in;
+	mso-level-number-position:left;
+	text-indent:-.25in;}
+@list l0:level5
+	{mso-level-tab-stop:2.5in;
+	mso-level-number-position:left;
+	text-indent:-.25in;}
+@list l0:level6
+	{mso-level-tab-stop:3.0in;
+	mso-level-number-position:left;
+	text-indent:-.25in;}
+@list l0:level7
+	{mso-level-tab-stop:3.5in;
+	mso-level-number-position:left;
+	text-indent:-.25in;}
+@list l0:level8
+	{mso-level-tab-stop:4.0in;
+	mso-level-number-position:left;
+	text-indent:-.25in;}
+@list l0:level9
+	{mso-level-tab-stop:4.5in;
+	mso-level-number-position:left;
+	text-indent:-.25in;}
+ol
+	{margin-bottom:0in;}
+ul
+	{margin-bottom:0in;}
 -->
 </style>
 <!--[if gte mso 10]>
@@ -212,7 +274,7 @@
 	{margin-left:8.5pt;}
 </style>
 <![endif]><!--[if gte mso 9]><xml>
- <o:shapedefaults v:ext="edit" spidmax="9218"/>
+ <o:shapedefaults v:ext="edit" spidmax="10242"/>
 </xml><![endif]--><!--[if gte mso 9]><xml>
  <o:shapelayout v:ext="edit">
   <o:idmap v:ext="edit" data="1"/>
@@ -226,7 +288,7 @@
 
 <p class=MsoNormal align=right style='text-align:right'><span style='font-size:
 10.0pt;font-family:Arial'>&nbsp; </span><span style='font-size:10.0pt'>Copyright
-© 2004, 2006 International Business Machines Corp.</span><span
+© 2004, 2008 International Business Machines Corp.</span><span
 style='font-size:10.0pt;font-family:Arial'> <o:p></o:p></span></p>
 
 <div align=right>
@@ -259,7 +321,9 @@
 editor<o:p></o:p></span></p>
 
 <p><span class=SpellE><b>Kenn</b></span><b> Hussey, IBM</b><br>
-<st1:date Year="2006" Day="18" Month="7">July 18, 2006</st1:date></p>
+<st1:date Year="2006" Day="18" Month="7">July 18, 2006</st1:date> (Updated: <st1:date
+Year="2008" Day="11" Month="7">July 11, 2008</st1:date> for Eclipse 3.4; James <span
+class=SpellE>Bruck</span>)</p>
 
 </blockquote>
 
@@ -272,28 +336,41 @@
 
 <h2>Prerequisites</h2>
 
-<p>To work with UML2 profiles (and to follow along with the example in this
-article), you must have <span class=MsoHyperlink><a
-href="http://www.eclipse.org/downloads/index.php">Eclipse 3.2</a></span>, <span
-class=MsoHyperlink>EMF 2.2</span>, and <span class=MsoHyperlink>UML2 2.0</span>
-installed.</p>
+<p>To start using UML2 (and to follow along with the example in this article),
+you must have <span class=MsoHyperlink><a
+href="http://download.eclipse.org/eclipse/downloads/">Eclipse 3.4</a></span>, <span
+class=MsoHyperlink><a
+href="http://www.eclipse.org/modeling/emf/downloads/?project=emf">EMF 2.4</a></span>,
+and <span class=MsoHyperlink><a
+href="http://www.eclipse.org/modeling/mdt/downloads/?project=uml2">UML2 2.2</a></span>
+installed.<span style='mso-spacerun:yes'>  </span></p>
 
-<h2>Introduction</h2>
+<p>You can either download the zips individually and expand them out or follow
+the steps below:<span style='mso-spacerun:yes'>  </span></p>
 
-<p>This article will walk you through the basics of creating and applying
-profiles using UML2. Using a subset of the <span class=SpellE>Ecore</span>
-profile (see below) and the model we described in the “Getting Started with
-UML2” article [1] (the ExtendedPO2 model, shamelessly “borrowed” from the EMF
-“bible” [2]) as an example, we’ll look at what’s involved in creating some of
-the more common elements that make up a profile. For each type of element,
-we’ll first explain the creation process using the sample UML editor and
-explore how to accomplish the same thing using Java code. Then we’ll look at
-what’s involved in applying profiles and stereotypes to models. The ExtendedPO2
-model is shown below.</p>
+<p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1;
+tab-stops:list .5in'><![if !supportLists]><span style='mso-fareast-font-family:
+Arial'><span style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'>
+</span></span></span><![endif]><span dir=LTR><span
+style='mso-spacerun:yes'> </span>Download and run Eclipse 3.4</span></p>
 
-<p><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600"
- o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f"
- stroked="f">
+<p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1;
+tab-stops:list .5in'><![if !supportLists]><span style='mso-fareast-font-family:
+Arial'><span style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'>
+</span></span></span><![endif]><span dir=LTR><span
+style='mso-spacerun:yes'> </span>Select the <b>Help</b> &gt; <b>Software
+Updates … </b>menu</span></p>
+
+<p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1;
+tab-stops:list .5in'><![if !supportLists]><span style='mso-fareast-font-family:
+Arial'><span style='mso-list:Ignore'>3)<span style='font:7.0pt "Times New Roman"'>
+</span></span></span><![endif]><span dir=LTR><span
+style='mso-spacerun:yes'> </span>Select the <b>Available Software</b> tab and
+expand the <b>Ganymede\Model and Model Development</b> tree item.</span></p>
+
+<p style='margin-left:.25in'><!--[if gte vml 1]><v:shapetype id="_x0000_t75"
+ coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"
+ filled="f" stroked="f">
  <v:stroke joinstyle="miter"/>
  <v:formulas>
   <v:f eqn="if lineDrawn pixelLineWidth 0"/>
@@ -311,11 +388,47 @@
  </v:formulas>
  <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
  <o:lock v:ext="edit" aspectratio="t"/>
-</v:shapetype><v:shape id="_x0000_i1142" type="#_x0000_t75" style='width:581.25pt;
+</v:shapetype><v:shape id="_x0000_i1128" type="#_x0000_t75" style='width:581.25pt;
+ height:408.75pt'>
+ <v:imagedata src="article_files/image037.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=775 height=545
+src="article_files/image038.jpg" v:shapes="_x0000_i1128"><![endif]></p>
+
+<p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1;
+tab-stops:list .5in'><![if !supportLists]><span style='mso-fareast-font-family:
+Arial'><span style='mso-list:Ignore'>4)<span style='font:7.0pt "Times New Roman"'>
+</span></span></span><![endif]><span dir=LTR><span
+style='mso-spacerun:yes'> </span>Select <b>UML2 End-User Features</b> and <b>UML2
+Extender SDK</b>.<span style='mso-spacerun:yes'>  </span>The version should
+indicate 2.2.0 (or later).</span></p>
+
+<p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1;
+tab-stops:list .5in'><![if !supportLists]><span style='mso-fareast-font-family:
+Arial'><span style='mso-list:Ignore'>5)<span style='font:7.0pt "Times New Roman"'>
+</span></span></span><![endif]><span dir=LTR><span
+style='mso-spacerun:yes'> </span>Click <b>Install<span class=GramE>… <span
+style='font-weight:normal'>.</span></span></b></span></p>
+
+<p>At this stage, UML2 2.2 and all dependencies should be installed.</p>
+
+<h2>Introduction</h2>
+
+<p>This article will walk you through the basics of creating and applying
+profiles using UML2. Using a subset of the <span class=SpellE>Ecore</span>
+profile (see below) and the model we described in the “Getting Started with
+UML2” article [1] (the ExtendedPO2 model, shamelessly “borrowed” from the EMF
+“bible” [2]) as an example, we’ll look at what’s involved in creating some of
+the more common elements that make up a profile. For each type of element,
+we’ll first explain the creation process using the sample UML editor and
+explore how to accomplish the same thing using Java code. Then we’ll look at
+what’s involved in applying profiles and stereotypes to models. The ExtendedPO2
+model is shown below.</p>
+
+<p><!--[if gte vml 1]><v:shape id="_x0000_i1027" type="#_x0000_t75" style='width:581.25pt;
  height:407.25pt'>
- <v:imagedata src="article_files/image001.emz" o:title=""/>
+ <v:imagedata src="article_files/image039.emz" o:title=""/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=775 height=543
-src="article_files/image002.gif" v:shapes="_x0000_i1142"><![endif]><o:p></o:p></p>
+src="article_files/image002.gif" v:shapes="_x0000_i1027"><![endif]></p>
 
 <p>As described in the EMF book, some of the attributes of certain <span
 class=SpellE>Ecore</span> elements cannot be expressed directly in UML™. EMF
@@ -329,22 +442,22 @@
 stereotype that extends the <span style='font-family:"Courier New"'>Property</span>
 <span class=SpellE>metaclass</span>.</p>
 
-<p><!--[if gte vml 1]><v:shape id="_x0000_i1027" type="#_x0000_t75" style='width:258pt;
+<p><!--[if gte vml 1]><v:shape id="_x0000_i1028" type="#_x0000_t75" style='width:258pt;
  height:306.75pt'>
  <v:imagedata src="article_files/image003.png" o:title=""/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=344 height=409
-src="article_files/image004.jpg" v:shapes="_x0000_i1027"><![endif]></p>
+src="article_files/image004.jpg" v:shapes="_x0000_i1028"><![endif]></p>
 
 <p>The <span class=SpellE>Ecore</span> properties for association ends are
 shown below. These properties can also be expressed in UML2 as properties owned
 by a stereotype that extends the <span style='font-family:"Courier New"'>Property</span>
 <span class=SpellE>metaclass</span>.</p>
 
-<p><!--[if gte vml 1]><v:shape id="_x0000_i1028" type="#_x0000_t75" style='width:258pt;
+<p><!--[if gte vml 1]><v:shape id="_x0000_i1029" type="#_x0000_t75" style='width:258pt;
  height:320.25pt'>
  <v:imagedata src="article_files/image005.png" o:title=""/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=344 height=427
-src="article_files/image006.jpg" v:shapes="_x0000_i1028"><![endif]></p>
+src="article_files/image006.jpg" v:shapes="_x0000_i1029"><![endif]></p>
 
 <h2>Getting Started</h2>
 
@@ -370,11 +483,11 @@
 
 <p>At this point your workspace should look something like this:</p>
 
-<p><!--[if gte vml 1]><v:shape id="_x0000_i1029" type="#_x0000_t75" style='width:960pt;
- height:768pt'>
- <v:imagedata src="article_files/image007.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image008.jpg" v:shapes="_x0000_i1029"><![endif]></p>
+<p><!--[if gte vml 1]><v:shape id="_x0000_i1129" type="#_x0000_t75" style='width:624pt;
+ height:405.75pt'>
+ <v:imagedata src="article_files/image001.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=832 height=541
+src="article_files/image040.jpg" v:shapes="_x0000_i1129"><![endif]></p>
 
 <p>OK, that should be enough to get us going with the UML editor. Now, to
 follow along with the programmatic approach to creating profiles, we’ll assume
@@ -392,25 +505,25 @@
 style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:9.0pt'><span
 style='mso-tab-count:2'>            </span><span class=GramE>if</span> (DEBUG) {</pre><pre
 style='margin-left:9.0pt'><img border=0 width=24 height=14 id="_x0000_i1031"
-src="../../../../images/tag_2.gif" align=CENTER><span style='mso-tab-count:3'>                 </span><span
-class=SpellE><span class=GramE>System.out.println</span></span><span
+src="../../../../images/tag_2.gif" align=CENTER><span style='mso-tab-count:
+3'>                 </span><span class=SpellE><span class=GramE>System.out.println</span></span><span
 class=GramE>(</span>output);</pre><pre style='margin-left:9.0pt'><span
 style='mso-tab-count:2'>            </span>}</pre><pre style='margin-left:9.0pt'><span
 style='mso-tab-count:1'>     </span>}</pre><pre style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
 class=GramE>protected</span> static void err(String error) {</pre><pre
 style='margin-left:9.0pt'><img border=0 width=24 height=14 id="_x0000_i1032"
-src="../../../../images/tag_3.gif" align=CENTER><span style='mso-tab-count:2'>         </span><span
-class=SpellE><span class=GramE>System.err.println</span></span><span
+src="../../../../images/tag_3.gif" align=CENTER><span style='mso-tab-count:
+2'>         </span><span class=SpellE><span class=GramE>System.err.println</span></span><span
 class=GramE>(</span>error);</pre><pre style='margin-left:9.0pt'><span
 style='mso-tab-count:1'>     </span>}</pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>A
 static debug flag <img border=0 width=24 height=14 id="_x0000_i1033"
 src="../../../../images/tag_1.gif" align=CENTER><span
-style='mso-spacerun:yes'> </span>can be used to enable or disable verbose
-information printed to the system’s output <span class=GramE>stream </span><img
-border=0 width=24 height=14 id="_x0000_i1034" src="../../../../images/tag_2.gif"
+style='mso-spacerun:yes'> </span>can be used to enable or disable verbose information
+printed to the system’s output <span class=GramE>stream </span><img border=0
+width=24 height=14 id="_x0000_i1034" src="../../../../images/tag_2.gif"
 align=CENTER>. Errors will always be printed to the system’s error <span
 class=GramE>stream </span><img border=0 width=24 height=14 id="_x0000_i1035"
 src="../../../../images/tag_3.gif" align=CENTER>.</p>
@@ -433,8 +546,8 @@
 editor, follow these steps:</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>1)
-Select a project (i.e. <b>Introduction to UML2 Profiles</b>) in the <b>Navigator</b>
-view and select the <b>File &gt; New &gt; <span class=GramE>Other</span>...</b>
+Select a project (i.e. <b>Introduction to UML2 Profiles</b>) in the <b>Project
+Explorer</b> view and select the <b>File &gt; New &gt; <span class=GramE>Other</span>...</b>
 menu item.</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>2)
@@ -468,44 +581,46 @@
 this point your workspace should look something like this:</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><!--[if gte vml 1]><v:shape
- id="_x0000_i1037" type="#_x0000_t75" style='width:960pt;height:768pt'>
- <v:imagedata src="article_files/image009.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image010.jpg" v:shapes="_x0000_i1037"><![endif]></p>
+ id="_x0000_i1130" type="#_x0000_t75" style='width:624pt;height:405.75pt'>
+ <v:imagedata src="article_files/image041.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=832 height=541
+src="article_files/image042.jpg" v:shapes="_x0000_i1130"><![endif]></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Let’s
 look at how to perform the same task using Java code. The code snippet below
-shows a method that programmatically creates and returns a profile with a specified
-name.</p>
+shows a method that programmatically creates and returns a profile with a
+specified name.</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
 class=GramE>protected</span> static Profile <span class=SpellE>createProfile</span>(String name) {</pre><pre
-style='margin-left:9.0pt'><img border=0 width=24 height=14 id="_x0000_i1038"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>         </span>Profile <span
-class=SpellE>profile</span> = <span class=SpellE><span class=GramE>UMLFactory.eINSTANCE.createProfile</span></span><span
+style='margin-left:9.0pt'><img border=0 width=24 height=14 id="_x0000_i1037"
+src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:
+2'>         </span>Profile <span class=SpellE>profile</span> = <span
+class=SpellE><span class=GramE>UMLFactory.eINSTANCE.createProfile</span></span><span
 class=GramE>(</span>);</pre><pre style='margin-left:9.0pt'><img border=0
-width=24 height=14 id="_x0000_i1039" src="../../../../images/tag_2.gif"
+width=24 height=14 id="_x0000_i1038" src="../../../../images/tag_2.gif"
 align=CENTER><span style='mso-tab-count:2'>         </span><span class=SpellE><span
 class=GramE>profile.setName</span></span><span class=GramE>(</span>name);</pre><pre
 style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:9.0pt'><img
-border=0 width=24 height=14 id="_x0000_i1040" src="../../../../images/tag_3.gif"
+border=0 width=24 height=14 id="_x0000_i1039" src="../../../../images/tag_3.gif"
 align=CENTER><span style='mso-tab-count:2'>         </span><span class=GramE>out(</span>&quot;Profile '&quot; + <span
 class=SpellE>profile.getQualifiedName</span>() + &quot;' created.&quot;);</pre><pre
 style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:9.0pt'><img
-border=0 width=24 height=14 id="_x0000_i1041" src="../../../../images/tag_4.gif"
-align=CENTER><span style='mso-tab-count:2'>         </span><span class=GramE>return</span> profile;</pre><pre
+border=0 width=24 height=14 id="_x0000_i1040" src="../../../../images/tag_4.gif"
+align=CENTER><span style='mso-tab-count:1'>  </span><span style='mso-tab-count:
+1'>        </span><span class=GramE>return</span> profile;</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span>}</pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>First,
 we ask the UML factory singleton <img border=0 width=24 height=14
-id="_x0000_i1042" src="../../../../images/tag_1.gif" align=CENTER><span
+id="_x0000_i1041" src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>to create a profile, and we set its <span
-class=GramE>name </span><img border=0 width=24 height=14 id="_x0000_i1043"
+class=GramE>name </span><img border=0 width=24 height=14 id="_x0000_i1042"
 src="../../../../images/tag_2.gif" align=CENTER>. Then, we output information <img
-border=0 width=24 height=14 id="_x0000_i1044" src="../../../../images/tag_3.gif"
+border=0 width=24 height=14 id="_x0000_i1043" src="../../../../images/tag_3.gif"
 align=CENTER><span style='mso-spacerun:yes'> </span>to the user to let them
 know that the profile has been successfully created. Finally, we return <img
-border=0 width=24 height=14 id="_x0000_i1045" src="../../../../images/tag_4.gif"
+border=0 width=24 height=14 id="_x0000_i1044" src="../../../../images/tag_4.gif"
 align=CENTER><span style='mso-spacerun:yes'> </span>the profile. You’ll notice
 most, if not all, of the code snippets in this article will follow this pattern
 – create the element (and set some properties on it), inform the user, and
@@ -540,7 +655,7 @@
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>2)
 Select the <b style='mso-bidi-font-weight:normal'>UML Editor &gt; Package &gt;
-Import Primitive Type…</b> menu item.</p>
+Import Type…</b> menu item.</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>3)
 Choose a primitive type (i.e. <span class=SpellE><b style='mso-bidi-font-weight:
@@ -549,7 +664,7 @@
 style='mso-bidi-font-weight:normal'>OK</b> button.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1046" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1045" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Import the other required primitive type (<span
 class=SpellE><b style='mso-bidi-font-weight:normal'>UMLPrimitiveTypes::String</b></span>)
 into the <span class=SpellE>Ecore</span> profile using the UML editor.</p>
@@ -558,10 +673,10 @@
 this point your workspace should look something like this:</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><!--[if gte vml 1]><v:shape
- id="_x0000_i1047" type="#_x0000_t75" style='width:960pt;height:768pt'>
- <v:imagedata src="article_files/image011.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image012.jpg" v:shapes="_x0000_i1047"><![endif]></p>
+ id="_x0000_i1131" type="#_x0000_t75" style='width:624pt;height:405.75pt'>
+ <v:imagedata src="article_files/image007.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=832 height=541
+src="article_files/image008.jpg" v:shapes="_x0000_i1131"><![endif]></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Let’s
 look at how to perform the same task using Java code. The code snippet below
@@ -573,21 +688,22 @@
 class=GramE>protected</span> static <span class=SpellE>PrimitiveType</span> <span
 class=SpellE>importPrimitiveType</span>(</pre><pre style='margin-left:9.0pt'><span
 style='mso-tab-count:3'>                    </span>org.eclipse.uml2.uml.Package package_, String name) {</pre><pre
-style='margin-left:9.0pt'><img border=0 width=24 height=14 id="_x0000_i1048"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>         </span>Model <span
-class=SpellE>umlLibrary</span> = (Model) <span class=GramE>load(</span>URI</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>.<span
-class=SpellE><span class=GramE>createURI</span></span><span class=GramE>(</span><span
+style='margin-left:9.0pt'><img border=0 width=24 height=14 id="_x0000_i1046"
+src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:
+2'>         </span>Model <span class=SpellE>umlLibrary</span> = (Model) <span
+class=GramE>load(</span>URI</pre><pre style='margin-left:9.0pt'><span
+style='mso-tab-count:3'>                    </span>.<span class=SpellE><span
+class=GramE>createURI</span></span><span class=GramE>(</span><span
 class=SpellE>UMLResource.UML_PRIMITIVE_TYPES_LIBRARY_URI</span>));</pre><pre
 style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:9.0pt'><img
-border=0 width=24 height=14 id="_x0000_i1049" src="../../../../images/tag_2.gif"
+border=0 width=24 height=14 id="_x0000_i1047" src="../../../../images/tag_2.gif"
 align=CENTER><span style='mso-tab-count:2'>         </span><span class=SpellE>PrimitiveType</span> <span
 class=SpellE>primitiveType</span> = (<span class=SpellE>PrimitiveType</span>) <span
 class=SpellE>umlLibrary</span></pre><pre style='margin-left:9.0pt'><span
 style='mso-tab-count:3'>                    </span>.<span class=SpellE><span
 class=GramE>getOwnedType</span></span><span class=GramE>(</span>name);</pre><pre
 style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:9.0pt'><img
-border=0 width=24 height=14 id="_x0000_i1050" src="../../../../images/tag_3.gif"
+border=0 width=24 height=14 id="_x0000_i1048" src="../../../../images/tag_3.gif"
 align=CENTER><span style='mso-tab-count:2'>         </span><span class=SpellE>package_.<span
 class=GramE>createElementImport</span></span><span class=GramE>(</span><span
 class=SpellE>primitiveType</span>);</pre><pre style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre
@@ -600,7 +716,7 @@
 style='mso-tab-count:1'>     </span>}</pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Here
-we load the model library <img border=0 width=24 height=14 id="_x0000_i1051"
+we load the model library <img border=0 width=24 height=14 id="_x0000_i1049"
 src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>containing the UML primitive types (<span
 style='font-family:"Courier New"'>Boolean</span>, <span style='font-family:
@@ -609,17 +725,17 @@
 using a utility method (described later) and a URI defined on the <span
 class=SpellE><span style='font-family:"Courier New"'>UMLResource</span></span>
 interface. Next, we retrieve the desired (owned) primitive type from the model
-by name <img border=0 width=24 height=14 id="_x0000_i1052"
+by name <img border=0 width=24 height=14 id="_x0000_i1050"
 src="../../../../images/tag_2.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>using one of the convenience methods defined
 in the UML2 API. Finally, we invoke another convenience method <img border=0
-width=24 height=14 id="_x0000_i1053" src="../../../../images/tag_3.gif"
+width=24 height=14 id="_x0000_i1051" src="../../../../images/tag_3.gif"
 align=CENTER><span style='mso-spacerun:yes'> </span>to create the element
 import relationship between the package and the element (with default public
 visibility), notify the user, and return the primitive type.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=62 height=13 id="_x0000_i1054" src="../../../../images/tip.gif"><span
+border=0 width=62 height=13 id="_x0000_i1052" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>The UML resources plug-in (<span
 style='font-family:"Courier New"'>org.eclipse.uml2.uml.resources</span>)
 provides several model libraries (which by convention have a <code>.<span
@@ -631,7 +747,7 @@
 above.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=63 height=14 id="_x0000_i1055" src="../../../../images/tip.gif"><span
+border=0 width=63 height=14 id="_x0000_i1053" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>In UML2, a method of the form <code>get&lt;feature
 name<span class=GramE>&gt;(</span>String)</code> exists for every feature that
 can contain or reference named elements. In this case, the package has a
@@ -653,7 +769,7 @@
 style='margin-left:8.5pt'><span style='mso-tab-count:3'>                    </span>&quot;Boolean&quot;);</pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1056" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1054" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Write code to programmatically import the
 other required primitive type (i.e. ‘String’) into the <span class=SpellE>Ecore</span>
 profile.</p>
@@ -672,7 +788,7 @@
 in the UML editor.</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>2)
-Right-click and select the <b>New Child &gt; Packaged Element Enumeration</b>
+Right-click and select the <b>New Child &gt; Packaged Element &gt; Enumeration</b>
 option from the context menu.</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>3)
@@ -680,7 +796,7 @@
 property in the <b>Properties</b> view.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1057" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1055" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Create the other enumeration (i.e. “<span
 class=SpellE>FeatureKind</span>”) for the <span class=SpellE>Ecore</span>
 profile using the UML editor.</p>
@@ -689,10 +805,10 @@
 this point your workspace should look something like this:</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><!--[if gte vml 1]><v:shape
- id="_x0000_i1058" type="#_x0000_t75" style='width:960pt;height:768pt'>
- <v:imagedata src="article_files/image013.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image014.jpg" v:shapes="_x0000_i1058"><![endif]></p>
+ id="_x0000_i1132" type="#_x0000_t75" style='width:624pt;height:405.75pt'>
+ <v:imagedata src="article_files/image009.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=832 height=541
+src="article_files/image010.jpg" v:shapes="_x0000_i1132"><![endif]></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Let’s
 look at how to perform the same task using Java code. The code snippet below
@@ -703,9 +819,9 @@
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
 class=GramE>protected</span> static Enumeration <span class=SpellE>createEnumeration</span>(</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>org.eclipse.uml2.uml.Package package_, String name) {</pre><pre
-style='margin-left:9.0pt'><img border=0 width=24 height=13 id="_x0000_i1059"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>         </span>Enumeration <span
-class=SpellE>enumeration</span> = (Enumeration) package_</pre><pre
+style='margin-left:9.0pt'><img border=0 width=24 height=13 id="_x0000_i1056"
+src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:
+2'>         </span>Enumeration <span class=SpellE>enumeration</span> = (Enumeration) package_</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>.<span
 class=SpellE><span class=GramE>createOwnedEnumeraton</span></span><span
 class=GramE>(</span>name);</pre><pre style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre
@@ -718,10 +834,10 @@
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Here
 we call the <span class=SpellE><span class=GramE><code>createOwnedEnumeration</code></span></span><span
 class=GramE><code>(</code></span><code>String)</code> convenience factory
-method <img border=0 width=24 height=13 id="_x0000_i1060"
+method <img border=0 width=24 height=13 id="_x0000_i1057"
 src="../../../../images/tag_1.gif" align=CENTER><span
-style='mso-spacerun:yes'> </span>to ask the package to create a primitive type
-with the specified name as one of its packaged elements.</p>
+style='mso-spacerun:yes'> </span>to ask the package to create a primitive type with
+the specified name as one of its packaged elements.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>OK,
 let’s see this method in action. For example, we could create an enumeration
@@ -736,7 +852,7 @@
 class=SpellE>VisibilityKind</span>&quot;);</pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1061" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1058" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Write code to programmatically create the
 other enumeration (i.e. ‘<span class=SpellE>FeatureKind</span>’) for the <span
 class=SpellE>Ecore</span> profile.</p>
@@ -754,15 +870,15 @@
 in the UML editor.</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>2)
-Right-click and select the <b>New Child &gt; Enumeration Literal</b> option
-from the context menu.</p>
+Right-click and select the <b>New Child &gt; Owned Literal &gt; Enumeration
+Literal</b> option from the context menu.</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>3)
 Enter a value (i.e. “Unspecified”) for the <b>Name</b> property in the <b>Properties</b>
 view.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1062" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1059" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Create the remaining enumeration literals for
 the <span class=SpellE>Ecore</span> profile (i.e. “None”, “<span class=SpellE>ReadOnly</span>”,
 “<span class=SpellE>ReadWrite</span>”, “<span class=SpellE>ReadOnlyUnsettable</span>”,
@@ -778,10 +894,10 @@
 this point your workspace should look something like this:</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><!--[if gte vml 1]><v:shape
- id="_x0000_i1063" type="#_x0000_t75" style='width:960pt;height:768pt'>
- <v:imagedata src="article_files/image015.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image016.jpg" v:shapes="_x0000_i1063"><![endif]></p>
+ id="_x0000_i1133" type="#_x0000_t75" style='width:696pt;height:607.5pt'>
+ <v:imagedata src="article_files/image011.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=928 height=810
+src="article_files/image012.jpg" v:shapes="_x0000_i1133"><![endif]></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Let’s
 look at how to perform the same task using Java code. The code snippet below
@@ -794,9 +910,10 @@
 class=SpellE>createEnumerationLiteral</span>(</pre><pre style='margin-left:
 9.0pt'><span style='mso-tab-count:3'>                    </span>Enumeration <span
 class=SpellE>enumeration</span>, String name) {</pre><pre style='margin-left:
-9.0pt'><img border=0 width=24 height=13 id="_x0000_i1064"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>         </span><span
-class=SpellE>EnumerationLiteral</span> <span class=SpellE>enumerationLiteral</span> = enumeration</pre><pre
+9.0pt'><img border=0 width=24 height=13 id="_x0000_i1060"
+src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:
+2'>         </span><span class=SpellE>EnumerationLiteral</span> <span
+class=SpellE>enumerationLiteral</span> = enumeration</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>.<span
 class=SpellE><span class=GramE>createOwnedLiteral</span></span><span
 class=GramE>(</span>name);</pre><pre style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre
@@ -811,14 +928,14 @@
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Here
 we call the <span class=SpellE><span class=GramE><code>createOwnedLiteral</code></span></span><span
 class=GramE><code>(</code></span><code>String)</code> convenience factory
-method <img border=0 width=24 height=13 id="_x0000_i1065"
+method <img border=0 width=24 height=13 id="_x0000_i1061"
 src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>to ask the enumeration to create an
 enumeration literal with the specified name as one of its owned literals.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>OK,
-let’s see this method in action. For example, we could create an enumeration literal
-named ‘Unspecified’ in enumeration ‘<span class=SpellE>VisibilityKind</span>’
+let’s see this method in action. For example, we could create an enumeration
+literal named ‘Unspecified’ in enumeration ‘<span class=SpellE>VisibilityKind</span>’
 as follows:</p>
 
 <pre style='margin-left:8.5pt'><span style='mso-tab-count:2'>            </span><span
@@ -828,7 +945,7 @@
 style='mso-tab-count:2'>            </span></pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1066" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1062" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Write code to programmatically create the
 remaining enumeration literals (i.e. ‘None’, ‘<span class=SpellE>ReadOnly</span>’,
 ‘<span class=SpellE>ReadWrite</span>’, ‘<span class=SpellE>ReadOnlyUnsettable</span>’,
@@ -855,7 +972,7 @@
 in the UML editor.</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>2)
-Right-click and select the <b>New Child &gt; Packaged Element Stereotype</b>
+Right-click and select the <b>New Child &gt; Packaged Element &gt; Stereotype</b>
 option from the context menu.</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>3)
@@ -868,7 +985,7 @@
 property in the <b style='mso-bidi-font-weight:normal'>Properties</b> view.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1067" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1063" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Create the remaining stereotypes for the <span
 class=SpellE>Ecore</span> profile (i.e. “<span class=SpellE>EAttribute</span>”
 and “<span class=SpellE>EReference</span>”) using the UML editor.</p>
@@ -877,10 +994,10 @@
 this point your workspace should look something like this:</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><!--[if gte vml 1]><v:shape
- id="_x0000_i1068" type="#_x0000_t75" style='width:960pt;height:768pt'>
- <v:imagedata src="article_files/image017.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image018.jpg" v:shapes="_x0000_i1068"><![endif]></p>
+ id="_x0000_i1134" type="#_x0000_t75" style='width:696pt;height:607.5pt'>
+ <v:imagedata src="article_files/image013.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=928 height=810
+src="article_files/image014.jpg" v:shapes="_x0000_i1134"><![endif]></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Let’s
 look at how to perform the same task using Java code. The code snippet below
@@ -892,9 +1009,10 @@
 class=SpellE>profile</span>, String name,</pre><pre style='margin-left:9.0pt'><span
 style='mso-tab-count:3'>                    </span><span class=SpellE><span
 class=GramE>boolean</span></span> <span class=SpellE>isAbstract</span>) {</pre><pre
-style='margin-left:9.0pt'><img border=0 width=24 height=14 id="_x0000_i1069"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>         </span>Stereotype <span
-class=SpellE>stereotype</span> = <span class=SpellE><span class=GramE>profile.createOwnedStereotype</span></span><span
+style='margin-left:9.0pt'><img border=0 width=24 height=14 id="_x0000_i1064"
+src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:
+2'>         </span>Stereotype <span class=SpellE>stereotype</span> = <span
+class=SpellE><span class=GramE>profile.createOwnedStereotype</span></span><span
 class=GramE>(</span>name, <span class=SpellE>isAbstract</span>);</pre><pre
 style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:9.0pt'><span
 style='mso-tab-count:2'>            </span><span class=GramE>out(</span>&quot;Stereotype '&quot; + <span
@@ -906,7 +1024,7 @@
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Here
 we call the <span class=SpellE><span class=GramE><code>createOwnedStereotype</code></span></span><span
 class=GramE><code>(</code></span><code>String, <span class=SpellE>boolean</span>)</code>
-convenience factory method <img border=0 width=24 height=13 id="_x0000_i1070"
+convenience factory method <img border=0 width=24 height=13 id="_x0000_i1065"
 src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>to ask the profile to create a stereotype with
 the specified name as one of its owned members, and set the <span class=SpellE><code>isAbstract</code></span>
@@ -926,7 +1044,7 @@
 class=SpellE>EStructuralFeature</span>&quot;, true);</pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1071" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1066" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Write code to programmatically create the
 remaining (non-abstract) stereotypes (i.e. ‘<span class=SpellE>EAttribute</span>’
 and ‘<span class=SpellE>EReference</span>’) for the <span class=SpellE>Ecore</span>
@@ -937,9 +1055,9 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Just
 like classes, stereotypes may be involved in generalizations. A generalization
-is a taxonomic relationship between a specific classifier and a more general classifier
-whereby each instance of the specific classifier is also an indirect instance
-of, and inherits the features of, the general classifier. To create a
+is a taxonomic relationship between a specific classifier and a more general
+classifier whereby each instance of the specific classifier is also an indirect
+instance of, and inherits the features of, the general classifier. To create a
 stereotype generalization using the UML editor, follow these steps:</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>1)
@@ -948,22 +1066,22 @@
 in the UML editor.</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>2)
-Right-click and select the <b>New Child &gt; Generalization</b> option from the
-context menu.</p>
+Right-click and select the <b>New Child &gt; Generalization &gt; Generalization</b>
+option from the context menu.</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>3)
 Select a value (i.e. <span class=SpellE><b>ecore::EStructuralFeature</b></span>)
 for the <b>General</b> property in the <b>Properties</b> view.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1072" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1067" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Create the other generalization (i.e. between <span
 class=SpellE><b style='mso-bidi-font-weight:normal'>EReference</b></span> and <span
 class=SpellE><b style='mso-bidi-font-weight:normal'>EStructuralFeature</b></span>)
 for the <span class=SpellE>Ecore</span> profile using the UML editor.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=62 height=13 id="_x0000_i1073" src="../../../../images/tip.gif"><span
+border=0 width=62 height=13 id="_x0000_i1068" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>Be sure to pick the stereotype (the first <span
 class=SpellE><b style='mso-bidi-font-weight:normal'>ecore::EStructuralFeature</b></span>
 item) and not the class (it should show up in <b style='mso-bidi-font-weight:
@@ -976,10 +1094,10 @@
 this point your workspace should look something like this:</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><!--[if gte vml 1]><v:shape
- id="_x0000_i1074" type="#_x0000_t75" style='width:960pt;height:768pt'>
- <v:imagedata src="article_files/image019.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image020.jpg" v:shapes="_x0000_i1074"><![endif]></p>
+ id="_x0000_i1135" type="#_x0000_t75" style='width:696pt;height:607.5pt'>
+ <v:imagedata src="article_files/image015.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=928 height=810
+src="article_files/image016.jpg" v:shapes="_x0000_i1135"><![endif]></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Let’s
 look at how to perform the same task using Java code. The code snippet below
@@ -993,23 +1111,23 @@
 class=SpellE>specificClassifier</span>, Classifier <span class=SpellE>generalClassifier</span>) {</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span>Generalization <span
 class=SpellE>generalization</span> = <span class=SpellE>specificClassifier</span></pre><pre
-style='margin-left:9.0pt'><img border=0 width=24 height=13 id="_x0000_i1075"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:3'>                 </span>.<span
-class=SpellE><span class=GramE>createGeneralization</span></span><span
+style='margin-left:9.0pt'><img border=0 width=24 height=13 id="_x0000_i1069"
+src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:
+3'>                 </span>.<span class=SpellE><span class=GramE>createGeneralization</span></span><span
 class=GramE>(</span><span class=SpellE>generalClassifier</span>);</pre><pre
 style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:9.0pt'><span
 style='mso-tab-count:2'>            </span><span class=GramE>out(</span>&quot;Generalization &quot; + <span
 class=SpellE>specificClassifier.getQualifiedName</span>() + &quot; -&gt;&gt; &quot;</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
-style='mso-tab-count:2'>               </span>+ <span class=SpellE><span
-class=GramE>generalClassifier.getQualifiedName</span></span><span class=GramE>(</span>) + &quot; created.&quot;);</pre><pre
-style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:9.0pt'><span
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>+ <span
+class=SpellE><span class=GramE>generalClassifier.getQualifiedName</span></span><span
+class=GramE>(</span>) + &quot; created.&quot;);</pre><pre style='margin-left:
+9.0pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:9.0pt'><span
 style='mso-tab-count:2'>            </span><span class=GramE>return</span> generalization;</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span>}</pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Here
 we call a convenience factory method on the specific classifier that creates a
-generalization <img border=0 width=24 height=13 id="_x0000_i1076"
+generalization <img border=0 width=24 height=13 id="_x0000_i1070"
 src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>as one of its children and sets the general
 classifier to the specified argument.</p>
@@ -1026,7 +1144,7 @@
 class=GramE>eStructuralFeatureStereotype</span></span>);</pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1077" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1071" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Write code to programmatically create the
 other generalization (i.e. between ‘<span class=SpellE>EReference</span>’ and ‘<span
 class=SpellE>EStructuralFeature</span>’) for the <span class=SpellE>Ecore</span>
@@ -1047,8 +1165,8 @@
 in the UML editor.</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>2)
-Right-click and select the <b>New Child &gt; Property</b> option from the
-context menu.</p>
+Right-click and select the <b>New Child &gt; Owned Attribute &gt; Property</b>
+option from the context menu.</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>3)
 Enter a value (i.e. &quot;<span class=SpellE>isTransient</span>”) for the <b>Name</b>
@@ -1072,7 +1190,7 @@
 &gt; Default Value Literal Boolean</b> option from the context menu.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=62 height=13 id="_x0000_i1078" src="../../../../images/tip.gif"><span
+border=0 width=62 height=13 id="_x0000_i1072" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>Default values for properties (and parameters)
 are represented as value specifications (first-class objects) in UML™ 2.0. Here
 we have selected a literal Boolean (whose default value is <span
@@ -1085,7 +1203,7 @@
 the <b style='mso-bidi-font-weight:normal'>Properties</b> view.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1079" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1073" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Create the remaining stereotype properties for
 the <span class=SpellE>Ecore</span> profile (i.e. “<span class=SpellE>isUnsettable</span>”,
 “<span class=SpellE>isVolatile</span>”, “visibility”, “<span class=SpellE>xmlName</span>”,
@@ -1099,9 +1217,9 @@
 UML editor.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=62 height=13 id="_x0000_i1080" src="../../../../images/tip.gif"><span
-style='mso-spacerun:yes'> </span>Be sure to set the appropriate default value for
-each stereotype property so that it is consistent with the corresponding <span
+border=0 width=62 height=13 id="_x0000_i1074" src="../../../../images/tip.gif"><span
+style='mso-spacerun:yes'> </span>Be sure to set the appropriate default value
+for each stereotype property so that it is consistent with the corresponding <span
 class=SpellE>Ecore</span> property for Rose. In particular, the default value
 for the “<span class=SpellE>isResolveProxies</span>” should be a literal
 Boolean with a value of <b style='mso-bidi-font-weight:normal'>true</b> instead
@@ -1117,28 +1235,28 @@
 this point your workspace should look something like this:</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><!--[if gte vml 1]><v:shape
- id="_x0000_i1081" type="#_x0000_t75" style='width:960pt;height:768pt'>
- <v:imagedata src="article_files/image021.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image022.jpg" v:shapes="_x0000_i1081"><![endif]></p>
+ id="_x0000_i1136" type="#_x0000_t75" style='width:696pt;height:607.5pt'>
+ <v:imagedata src="article_files/image017.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=928 height=810
+src="article_files/image018.jpg" v:shapes="_x0000_i1136"><![endif]></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Let’s
 look at how to perform the same task using Java code. The code snippet below
 (from the <span style='font-family:"Courier New"'>GettingStartedWithUML2</span>
-class) shows a method that programmatically creates and returns an attribute
-with a specified upper bound, lower bound, type, and name in a specified class.</p>
+class) shows a method that programmatically creates and returns an attribute with
+a specified upper bound, lower bound, type, and name in a specified class.</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
 class=GramE>protected</span> static Property <span class=SpellE>createAttribute</span>(org.eclipse.uml2.uml.Class class_,</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>String name, Type <span
 class=SpellE>type</span>, <span class=SpellE>int</span> <span class=SpellE>lowerBound</span>, <span
 class=SpellE>int</span> <span class=SpellE>upperBound</span>) {</pre><pre
-style='margin-left:9.0pt'><img border=0 width=24 height=13 id="_x0000_i1082"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>         </span>Property attribute = <span
-class=SpellE>class_.<span class=GramE>createOwnedAttribute</span></span><span
-class=GramE>(</span>name, type,</pre><pre style='margin-left:9.0pt'><span
-style='mso-tab-count:3'>                    </span><span class=SpellE><span
-class=GramE>lowerBound</span></span>, <span class=SpellE>upperBound</span>);</pre><pre
+style='margin-left:9.0pt'><img border=0 width=24 height=13 id="_x0000_i1075"
+src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:
+2'>         </span>Property attribute = <span class=SpellE>class_.<span
+class=GramE>createOwnedAttribute</span></span><span class=GramE>(</span>name, type,</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
+class=SpellE><span class=GramE>lowerBound</span></span>, <span class=SpellE>upperBound</span>);</pre><pre
 style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:9.0pt'><span
 style='mso-tab-count:2'>            </span><span class=SpellE>StringBuffer</span> <span
 class=SpellE>sb</span> = new <span class=SpellE><span class=GramE>StringBuffer</span></span><span
@@ -1186,7 +1304,7 @@
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Here
 we call the <span class=SpellE><code>createOwnedAttribute</code></span><code>(String,
 Type, <span class=SpellE>int</span>, <span class=SpellE>int</span>)</code>
-convenience factory method <img border=0 width=24 height=13 id="_x0000_i1083"
+convenience factory method <img border=0 width=24 height=13 id="_x0000_i1076"
 src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>to ask the class to create a property as one
 of its owned attributes, set the type of the attribute to the specified type,
@@ -1195,7 +1313,7 @@
 value to the specified integer value).</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=62 height=13 id="_x0000_i1084" src="../../../../images/tip.gif"><span
+border=0 width=62 height=13 id="_x0000_i1077" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>The <span class=SpellE><code>LiteralUnlimitedNatural.UNLIMITED</code></span>
 constant represents the unlimited value for upper bounds (-1), as it does in
 EMF.</p>
@@ -1214,7 +1332,7 @@
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>0, 1);</pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1085" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1078" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Write code to programmatically create the
 remaining stereotype properties (i.e. ‘<span class=SpellE>isUnsettable</span>’,
 ‘<span class=SpellE>isVolatile</span>’, ‘visibility’, ‘<span class=SpellE>xmlName</span>’,
@@ -1259,10 +1377,10 @@
 this point your workspace should look something like this:</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><!--[if gte vml 1]><v:shape
- id="_x0000_i1086" type="#_x0000_t75" style='width:960pt;height:768pt'>
- <v:imagedata src="article_files/image023.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image024.jpg" v:shapes="_x0000_i1086"><![endif]></p>
+ id="_x0000_i1137" type="#_x0000_t75" style='width:696pt;height:607.5pt'>
+ <v:imagedata src="article_files/image019.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=928 height=810
+src="article_files/image020.jpg" v:shapes="_x0000_i1137"><![endif]></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Let’s
 look at how to perform the same task using Java code. The code snippet below
@@ -1273,21 +1391,22 @@
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
 class=GramE>protected</span> static org.eclipse.uml2.uml.Class <span
 class=SpellE>referenceMetaclass</span>(Profile <span class=SpellE>profile</span>,</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>String name) {</pre><pre
-style='margin-left:9.0pt'><img border=0 width=24 height=13 id="_x0000_i1087"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>         </span>Model <span
-class=SpellE>umlMetamodel</span> = (Model) <span class=GramE>load(</span>URI</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>.<span
-class=SpellE><span class=GramE>createURI</span></span><span class=GramE>(</span>UML2Resource.UML2_METAMODEL_URI));</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
+lang=IT style='mso-ansi-language:IT'>String name) {<o:p></o:p></span></pre><pre
+style='margin-left:9.0pt'><img border=0 width=24 height=13 id="_x0000_i1079"
+src="../../../../images/tag_1.gif" align=CENTER><span lang=IT style='mso-ansi-language:
+IT'><span style='mso-tab-count:2'>         </span>Model umlMetamodel = (Model) load(URI<o:p></o:p></span></pre><pre
+style='margin-left:9.0pt'><span lang=IT style='mso-ansi-language:IT'><span
+style='mso-tab-count:3'>                    </span>.createURI(UML2Resource.UML2_METAMODEL_URI));<o:p></o:p></span></pre><pre
+style='margin-left:9.0pt'><span lang=IT style='mso-ansi-language:IT'><o:p>&nbsp;</o:p></span></pre><pre
+style='margin-left:9.0pt'><img border=0 width=24 height=13 id="_x0000_i1080"
+src="../../../../images/tag_2.gif" align=CENTER><span lang=IT style='mso-ansi-language:
+IT'><span style='mso-tab-count:2'>         </span>org.eclipse.uml2.Class metaclass = (org.eclipse.uml2.uml.Class) umlMetamodel<o:p></o:p></span></pre><pre
+style='margin-left:9.0pt'><span lang=IT style='mso-ansi-language:IT'><span
+style='mso-tab-count:3'>                    </span></span>.<span class=SpellE><span
+class=GramE>getOwnedType</span></span><span class=GramE>(</span>name);</pre><pre
 style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:9.0pt'><img
-border=0 width=24 height=13 id="_x0000_i1088" src="../../../../images/tag_2.gif"
-align=CENTER><span style='mso-tab-count:2'>         </span><span class=GramE>org.eclipse.uml2.Class</span> <span
-class=SpellE>metaclass</span> = (org.eclipse.uml2.uml.Class) <span
-class=SpellE>umlMetamodel</span></pre><pre style='margin-left:9.0pt'><span
-style='mso-tab-count:2'>            </span><span style='mso-tab-count:1'>        </span>.<span
-class=SpellE><span class=GramE>getOwnedType</span></span><span class=GramE>(</span>name);</pre><pre
-style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:9.0pt'><img
-border=0 width=24 height=13 id="_x0000_i1089" src="../../../../images/tag_3.gif"
+border=0 width=24 height=13 id="_x0000_i1081" src="../../../../images/tag_3.gif"
 align=CENTER><span style='mso-tab-count:2'>         </span><span class=SpellE><span
 class=GramE>profile.createMetaclassReference</span></span><span class=GramE>(</span><span
 class=SpellE>metaclass</span>);</pre><pre style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre
@@ -1301,22 +1420,22 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Here
 we load the <span class=SpellE>metamodel</span> <img border=0 width=24
-height=14 id="_x0000_i1090" src="../../../../images/tag_1.gif" align=CENTER><span
+height=14 id="_x0000_i1082" src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>containing the UML <span class=SpellE>metaclasses</span>
 using a utility method (described later) and a URI defined on the <span
 class=SpellE><span style='font-family:"Courier New"'>UMLResource</span></span>
 interface. Next, we retrieve the desired (owned) <span class=SpellE>metaclass</span>
 from the (meta<span class=GramE>)model</span> by name <img border=0 width=24
-height=14 id="_x0000_i1091" src="../../../../images/tag_2.gif" align=CENTER><span
+height=14 id="_x0000_i1083" src="../../../../images/tag_2.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>using the convenience method. Finally, we
 invoke another convenience method <img border=0 width=24 height=14
-id="_x0000_i1092" src="../../../../images/tag_3.gif" align=CENTER><span
+id="_x0000_i1084" src="../../../../images/tag_3.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>to create the element import relationship
 between the profile and the <span class=SpellE>metaclass</span>, notify the
 user, and return the <span class=SpellE>metaclass</span>.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=62 height=13 id="_x0000_i1093" src="../../../../images/tip.gif"><span
+border=0 width=62 height=13 id="_x0000_i1085" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>The UML resources plug-in (<span
 style='font-family:"Courier New"'>org.eclipse.uml2.uml.resources</span>)
 provides two <span class=SpellE>metamodels</span> (which by convention have a <code>.<span
@@ -1342,11 +1461,11 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Extensions
 are used to indicate that the properties of <span class=SpellE>metaclasses</span>
-are extended through stereotypes, and give the ability to flexibly apply (and
-later <span class=SpellE>unapply</span>) stereotypes to elements. An extension
-is a kind of association, one end of which is an ordinary property, and the
-other is an extension end. An extension may be required (depending on the lower
-bound of the extension end), which indicates that an instance of the extending
+are extended through stereotypes, and give the ability to flexibly apply (and later
+<span class=SpellE>unapply</span>) stereotypes to elements. An extension is a
+kind of association, one end of which is an ordinary property, and the other is
+an extension end. An extension may be required (depending on the lower bound of
+the extension end), which indicates that an instance of the extending
 stereotype must be created whenever an instance of the extended <span
 class=SpellE>metaclass</span> is created. To create an extension using the UML
 editor, follow these steps:</p>
@@ -1367,7 +1486,7 @@
 <b style='mso-bidi-font-weight:normal'>OK</b> button.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1094" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1086" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Create the other extension (i.e. between <span
 class=SpellE><b>uml::</b><b style='mso-bidi-font-weight:normal'>Property</b></span>
 and <b style='mso-bidi-font-weight:normal'>&lt;Stereotype&gt; <span
@@ -1378,13 +1497,13 @@
 this point your workspace should look something like this:</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><!--[if gte vml 1]><v:shape
- id="_x0000_i1095" type="#_x0000_t75" style='width:960pt;height:768pt'>
- <v:imagedata src="article_files/image025.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image026.jpg" v:shapes="_x0000_i1095"><![endif]></p>
+ id="_x0000_i1138" type="#_x0000_t75" style='width:696pt;height:607.5pt'>
+ <v:imagedata src="article_files/image021.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=928 height=810
+src="article_files/image022.jpg" v:shapes="_x0000_i1138"><![endif]></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=62 height=13 id="_x0000_i1096" src="../../../../images/tip.gif"><span
+border=0 width=62 height=13 id="_x0000_i1087" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>You’ll notice that a number of new elements
 have appeared in the UML editor. In particular, you’ll see a new stereotype
 property with a name of the form <span style='font-family:"Courier New"'>base_&lt;<span
@@ -1409,9 +1528,10 @@
 class=SpellE>stereotype</span>,</pre><pre style='margin-left:9.0pt'><span
 style='mso-tab-count:3'>                    </span><span class=SpellE><span
 class=GramE>boolean</span></span> required) {</pre><pre style='margin-left:
-9.0pt'><img border=0 width=24 height=13 id="_x0000_i1097"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>         </span>Extension <span
-class=SpellE>extension</span> = <span class=SpellE><span class=GramE>stereotype.createExtension</span></span><span
+9.0pt'><img border=0 width=24 height=13 id="_x0000_i1088"
+src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:
+2'>         </span>Extension <span class=SpellE>extension</span> = <span
+class=SpellE><span class=GramE>stereotype.createExtension</span></span><span
 class=GramE>(</span><span class=SpellE>metaclass</span>, required);</pre><pre
 style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:9.0pt'><span
 style='mso-tab-count:2'>            </span><span class=GramE>out(</span>(required</pre><pre
@@ -1426,12 +1546,12 @@
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Here
 we call a convenience method on the stereotype that creates an extension (and
 its ends) between it and a <span class=SpellE>metaclass</span> <img border=0
-width=24 height=13 id="_x0000_i1098" src="../../../../images/tag_1.gif"
+width=24 height=13 id="_x0000_i1089" src="../../../../images/tag_1.gif"
 align=CENTER><span style='mso-spacerun:yes'> </span>as one of its siblings
 (i.e. as a child of its profile namespace). Behind the scenes, the stereotype
 also creates the ends of the extension, resulting in a new property on the
-stereotype (with a special name) and an extension end owned by the extension
-(again, with a special name).</p>
+stereotype (with a special name) and an extension end owned by the extension (again,
+with a special name).</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>OK,
 let’s see this method in action. For example, we could create a non-required
@@ -1444,7 +1564,7 @@
 class=SpellE>propertyMetaclass</span>, <span class=SpellE>eAttributeStereotype</span>, false);</pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1099" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1090" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Write code to programmatically create the
 other extension (i.e. between <span class=SpellE>metaclass</span> ‘Property’
 and stereotype ‘<span class=SpellE>EReference</span>’) for the <span
@@ -1468,8 +1588,8 @@
 stereotypes are applied to a model and its elements, dynamic EMF (see the EMF
 book for details) is used to store property values for the stereotypes. For the
 most part, you can ignore this complexity, as long as you remember to define
-your profile before using it. To define a profile using the UML editor, follow
-these steps:</p>
+your profile before using it. To define a profile using the UML editor, follow these
+steps:</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>1)
 Select a profile (i.e. <b style='mso-bidi-font-weight:normal'>&lt;<span
@@ -1484,13 +1604,13 @@
 this point your workspace should look something like this:</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><!--[if gte vml 1]><v:shape
- id="_x0000_i1100" type="#_x0000_t75" style='width:960pt;height:768pt'>
- <v:imagedata src="article_files/image027.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image028.jpg" v:shapes="_x0000_i1100"><![endif]></p>
+ id="_x0000_i1139" type="#_x0000_t75" style='width:696pt;height:709.5pt'>
+ <v:imagedata src="article_files/image023.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=928 height=946
+src="article_files/image024.jpg" v:shapes="_x0000_i1139"><![endif]></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=62 height=13 id="_x0000_i1101" src="../../../../images/tip.gif"><span
+border=0 width=62 height=13 id="_x0000_i1091" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>You’ll notice that an annotation with source <b
 style='mso-bidi-font-weight:normal'>http://www.eclipse.org/uml2/2.0.0/UML</b>
 has been attached to the profile. It contains the generated <span class=SpellE>Ecore</span>
@@ -1507,7 +1627,7 @@
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
 class=GramE>protected</span> static void <span class=SpellE>defineProfile</span>(Profile <span
 class=SpellE>profile</span>) {</pre><pre style='margin-left:9.0pt'><img
-border=0 width=24 height=13 id="_x0000_i1102" src="../../../../images/tag_1.gif"
+border=0 width=24 height=13 id="_x0000_i1092" src="../../../../images/tag_1.gif"
 align=CENTER><span style='mso-tab-count:2'>         </span><span class=SpellE><span
 class=GramE>profile.define</span></span><span class=GramE>(</span>);</pre><pre
 style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:9.0pt'><span
@@ -1517,7 +1637,7 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Here
 we call a convenience method on the profile <img border=0 width=24 height=13
-id="_x0000_i1103" src="../../../../images/tag_1.gif" align=CENTER><span
+id="_x0000_i1093" src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>that generates the <span class=SpellE>Ecore</span>
 representation of the profile and increments its version.</p>
 
@@ -1551,24 +1671,24 @@
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
 class=GramE>protected</span> static void save(org.eclipse.uml2.uml.Package package_, URI <span
 class=SpellE>uri</span>) {</pre><pre style='margin-left:9.0pt'><img border=0
-width=24 height=13 id="_x0000_i1104" src="../../../../images/tag_1.gif"
+width=24 height=13 id="_x0000_i1094" src="../../../../images/tag_1.gif"
 align=CENTER><span style='mso-tab-count:2'>         </span>Resource <span
 class=SpellE>resource</span> = <span class=SpellE>RESOURCE_<span class=GramE>SET.createResource</span></span><span
 class=GramE>(</span><span class=SpellE>uri</span>);</pre><pre style='margin-left:
-9.0pt'><img border=0 width=24 height=13 id="_x0000_i1105"
-src="../../../../images/tag_2.gif" align=CENTER><span style='mso-tab-count:2'>         </span><span
-class=SpellE><span class=GramE>resource.getContents</span></span><span
+9.0pt'><img border=0 width=24 height=13 id="_x0000_i1095"
+src="../../../../images/tag_2.gif" align=CENTER><span style='mso-tab-count:
+2'>         </span><span class=SpellE><span class=GramE>resource.getContents</span></span><span
 class=GramE>(</span>).add(package_);</pre><pre style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
 class=GramE>try</span> {</pre><pre style='margin-left:9.0pt'><img border=0
-width=24 height=13 id="_x0000_i1106" src="../../../../images/tag_3.gif"
+width=24 height=13 id="_x0000_i1096" src="../../../../images/tag_3.gif"
 align=CENTER><span style='mso-tab-count:3'>                 </span><span
 class=SpellE><span class=GramE>resource.save</span></span><span class=GramE>(</span>null);</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
 class=GramE>out(</span>&quot;Done.&quot;);</pre><pre style='margin-left:9.0pt'><span
 style='mso-tab-count:2'>            </span>} catch (<span class=SpellE>IOException</span> <span
 class=SpellE>ioe</span>) {</pre><pre style='margin-left:9.0pt'><img border=0
-width=24 height=13 id="_x0000_i1107" src="../../../../images/tag_4.gif"
+width=24 height=13 id="_x0000_i1097" src="../../../../images/tag_4.gif"
 align=CENTER><span style='mso-tab-count:3'>                 </span><span
 class=GramE>err(</span><span class=SpellE>ioe.getMessage</span>());</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span>}</pre><pre
@@ -1576,14 +1696,14 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Here
 we use a statically initialized resource set <img border=0 width=24 height=13
-id="_x0000_i1108" src="../../../../images/tag_1.gif" align=CENTER><span
+id="_x0000_i1098" src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>to create a resource with the specified URI,
 add the package to the resource’s contents <img border=0 width=24 height=13
-id="_x0000_i1109" src="../../../../images/tag_2.gif" align=CENTER>, and ask the
-resource to save itself <img border=0 width=24 height=13 id="_x0000_i1110"
+id="_x0000_i1099" src="../../../../images/tag_2.gif" align=CENTER>, and ask the
+resource to save itself <img border=0 width=24 height=13 id="_x0000_i1100"
 src="../../../../images/tag_3.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>using the default options. If an exception
-occurs, we notify the user <img border=0 width=24 height=13 id="_x0000_i1111"
+occurs, we notify the user <img border=0 width=24 height=13 id="_x0000_i1101"
 src="../../../../images/tag_4.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>via our handy utility method.</p>
 
@@ -1601,7 +1721,7 @@
 class=GramE>(</span><span class=SpellE>UMLResource.PROFILE_FILE_EXTENSION</span>));</pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=62 height=13 id="_x0000_i1112" src="../../../../images/tip.gif"><span
+border=0 width=62 height=13 id="_x0000_i1102" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>The <span class=SpellE><code>UMLResource.PROFILE_FILE_EXTENSION</code></span>
 constant represents the file extension for UML2 profiles (<code>.<span
 class=SpellE>profile.uml</span></code>).</p>
@@ -1649,10 +1769,10 @@
 this point your workspace should look something like this:</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><!--[if gte vml 1]><v:shape
- id="_x0000_i1113" type="#_x0000_t75" style='width:960pt;height:768pt'>
- <v:imagedata src="article_files/image029.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image030.jpg" v:shapes="_x0000_i1113"><![endif]></p>
+ id="_x0000_i1140" type="#_x0000_t75" style='width:696pt;height:709.5pt'>
+ <v:imagedata src="article_files/image025.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=928 height=946
+src="article_files/image026.jpg" v:shapes="_x0000_i1140"><![endif]></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Programmatically,
 we have a bit more work to do. The code snippet below shows a method that loads
@@ -1664,48 +1784,49 @@
 style='mso-tab-count:2'>           </span>org.eclipse.uml2.uml.Package package_ = null;</pre><pre
 style='margin-left:.25in'><o:p>&nbsp;</o:p></pre><pre style='margin-left:.25in'><span
 style='mso-tab-count:2'>           </span><span class=GramE>try</span> {</pre><pre
-style='margin-left:.25in'><img border=0 width=24 height=13 id="_x0000_i1114"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:3'>                </span>Resource <span
-class=SpellE>resource</span> = <span class=SpellE>RESOURCE_<span class=GramE>SET.getResource</span></span><span
+style='margin-left:.25in'><img border=0 width=24 height=13 id="_x0000_i1103"
+src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:
+3'>                </span>Resource <span class=SpellE>resource</span> = <span
+class=SpellE>RESOURCE_<span class=GramE>SET.getResource</span></span><span
 class=GramE>(</span><span class=SpellE>uri</span>, true);</pre><pre
 style='margin-left:.25in'><o:p>&nbsp;</o:p></pre><pre style='margin-left:.25in'><img
-border=0 width=24 height=13 id="_x0000_i1115" src="../../../../images/tag_2.gif"
+border=0 width=24 height=13 id="_x0000_i1104" src="../../../../images/tag_2.gif"
 align=CENTER><span style='mso-tab-count:3'>                </span>package_ = (org.eclipse.uml2.uml.Package) <span
 class=SpellE><span class=GramE>EcoreUtil.getObjectByType</span></span><span
 class=GramE>(</span></pre><pre style='margin-left:.25in'><span
-style='mso-tab-count:3'>                   </span><span style='mso-tab-count:
-1'>        </span><span class=SpellE><span class=GramE>resource.getContents</span></span><span
-class=GramE>(</span>), <span class=SpellE>UMLPackage.Literals.PACKAGE</span>);</pre><pre
-style='margin-left:.25in'><span style='mso-tab-count:2'>           </span>} catch (<span
+style='mso-tab-count:4'>                          </span><span class=SpellE><span
+class=GramE>resource.getContents</span></span><span class=GramE>(</span>), <span
+class=SpellE>UMLPackage.Literals.PACKAGE</span>);</pre><pre style='margin-left:
+.25in'><span style='mso-tab-count:2'>           </span>} catch (<span
 class=SpellE>WrappedException</span> we) {</pre><pre style='margin-left:.25in'><img
-border=0 width=24 height=13 id="_x0000_i1116" src="../../../../images/tag_3.gif"
+border=0 width=24 height=13 id="_x0000_i1105" src="../../../../images/tag_3.gif"
 align=CENTER><span style='mso-tab-count:3'>                </span><span
 class=GramE>err(</span><span class=SpellE>we.getMessage</span>());</pre><pre
 style='margin-left:.25in'><span style='mso-tab-count:3'>                   </span><span
 class=SpellE><span class=GramE>System.exit</span></span><span class=GramE>(</span>1);</pre><pre
 style='margin-left:.25in'><span style='mso-tab-count:2'>           </span>}</pre><pre
 style='margin-left:.25in'><o:p>&nbsp;</o:p></pre><pre style='margin-left:.25in'><img
-border=0 width=24 height=13 id="_x0000_i1117" src="../../../../images/tag_4.gif"
+border=0 width=24 height=13 id="_x0000_i1106" src="../../../../images/tag_4.gif"
 align=CENTER><span style='mso-tab-count:2'>        </span><span class=GramE>return</span> package_;</pre><pre
 style='margin-left:.25in'><span style='mso-tab-count:1'>   </span>}</pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Here
 we obtain a resource with the specified URI from our statically initialized
 resource <span class=GramE>set </span><img border=0 width=24 height=13
-id="_x0000_i1118" src="../../../../images/tag_1.gif" align=CENTER>, asking that it
-be loaded on demand. Next, we use an EMF utility method <img border=0 width=24
-height=13 id="_x0000_i1119" src="../../../../images/tag_2.gif" align=CENTER><span
-style='mso-spacerun:yes'> </span>to obtain the first object of type <span
-style='font-family:"Courier New"'>Package</span> from the resource’s contents.
-If an exception occurs, we notify the user <img border=0 width=24 height=13
-id="_x0000_i1120" src="../../../../images/tag_3.gif" align=CENTER><span
-style='mso-spacerun:yes'> </span>via our handy utility method. Finally, if all
-is well, we return <img border=0 width=24 height=13 id="_x0000_i1121"
-src="../../../../images/tag_4.gif" align=CENTER><span
+id="_x0000_i1107" src="../../../../images/tag_1.gif" align=CENTER>, asking that
+it be loaded on demand. Next, we use an EMF utility method <img border=0
+width=24 height=13 id="_x0000_i1108" src="../../../../images/tag_2.gif"
+align=CENTER><span style='mso-spacerun:yes'> </span>to obtain the first object
+of type <span style='font-family:"Courier New"'>Package</span> from the
+resource’s contents. If an exception occurs, we notify the user <img border=0
+width=24 height=13 id="_x0000_i1109" src="../../../../images/tag_3.gif"
+align=CENTER><span style='mso-spacerun:yes'> </span>via our handy utility
+method. Finally, if all is well, we return <img border=0 width=24 height=13
+id="_x0000_i1110" src="../../../../images/tag_4.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>the package.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=62 height=13 id="_x0000_i1122" src="../../../../images/tip.gif"><span
+border=0 width=62 height=13 id="_x0000_i1111" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>The <span class=SpellE><code>EcoreUtil</code></span>
 class (provided by EMF) defines a number of utilities that you may find quite
 useful when working with EMF-based resources.</p>
@@ -1715,10 +1836,10 @@
 from a resource with URI ‘ExtendedPO2.uml’ (relative to a URI passed in as an
 argument) as follows:</p>
 
-<pre style='margin-left:.25in'><span style='mso-tab-count:2'>           </span>Model epo2Model = (Model) <span
-class=GramE>load(</span><span class=SpellE>URI.createURI</span>(<span
-class=SpellE>args</span>[0]).<span class=SpellE>appendSegment</span>(</pre><pre
-style='margin-left:.25in'><span style='mso-tab-count:3'>                   </span>&quot;ExtendedPO2&quot;).<span
+<pre style='margin-left:.25in'><span style='mso-tab-count:2'>           </span><span
+lang=IT style='mso-ansi-language:IT'>Model epo2Model = (Model) load(URI.createURI(args[0]).appendSegment(<o:p></o:p></span></pre><pre
+style='margin-left:.25in'><span lang=IT style='mso-ansi-language:IT'><span
+style='mso-tab-count:3'>                   </span></span>&quot;ExtendedPO2&quot;).<span
 class=SpellE><span class=GramE>appendFileExtension</span></span><span
 class=GramE>(</span><span class=SpellE>UMLResource.FILE_EXTENSION</span>));</pre>
 
@@ -1726,8 +1847,8 @@
 Profiles</h3>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>OK,
-our profile has been created, defined, and saved, and we’re ready to apply it
-to our model. Applying a profile means that it is allowed (but not necessarily
+our profile has been created, defined, and saved, and we’re ready to apply it to
+our model. Applying a profile means that it is allowed (but not necessarily
 required) to apply the stereotypes that are defined in the profile to elements
 in the package. A profile application is a special type of package import that
 indicates that a profile has been applied to a package. To apply a profile to a
@@ -1747,9 +1868,9 @@
 button, then press the <b style='mso-bidi-font-weight:normal'>OK</b> button.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=62 height=13 id="_x0000_i1123" src="../../../../images/tip.gif"><span
-style='mso-spacerun:yes'> </span>Be sure to pick the profile we’ve created
-instead of the built-in profile provided by the UML resources plug-in (i.e. <span
+border=0 width=62 height=13 id="_x0000_i1112" src="../../../../images/tip.gif"><span
+style='mso-spacerun:yes'> </span>Be sure to pick the profile we’ve created instead
+of the built-in profile provided by the UML resources plug-in (i.e. <span
 class=SpellE><b style='mso-bidi-font-weight:normal'>ecore</b></span>, not <span
 class=SpellE><b style='mso-bidi-font-weight:normal'>Ecore</b></span>).</p>
 
@@ -1757,13 +1878,13 @@
 this point your workspace should look something like this:</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><!--[if gte vml 1]><v:shape
- id="_x0000_i1124" type="#_x0000_t75" style='width:960pt;height:768pt'>
- <v:imagedata src="article_files/image031.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image032.jpg" v:shapes="_x0000_i1124"><![endif]></p>
+ id="_x0000_i1141" type="#_x0000_t75" style='width:696pt;height:709.5pt'>
+ <v:imagedata src="article_files/image027.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=928 height=946
+src="article_files/image028.jpg" v:shapes="_x0000_i1141"><![endif]></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=62 height=13 id="_x0000_i1125" src="../../../../images/tip.gif"><span
+border=0 width=62 height=13 id="_x0000_i1113" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>You’ll notice another annotation (with source <b
 style='mso-bidi-font-weight:normal'>http://www.eclipse.org/uml2/2.0.0/UML</b>)
 has been attached, in this case to keep track of the <span class=SpellE>Ecore</span>
@@ -1782,13 +1903,14 @@
 
 <pre style='margin-left:8.5pt'><span style='mso-tab-count:1'>     </span><span
 class=GramE>protected</span> static void <span class=SpellE>applyProfile</span>(org.eclipse.uml2.uml.Package package_,</pre><pre
-style='margin-left:8.5pt'><span style='mso-tab-count:3'>                    </span>Profile <span
-class=SpellE>profile</span>) {</pre><pre style='margin-left:8.5pt'><img
-border=0 width=24 height=13 id="_x0000_i1126" src="../../../../images/tag_1.gif"
-align=CENTER><span style='mso-tab-count:2'>         </span><span class=SpellE>package_.<span
-class=GramE>applyProfile</span></span><span class=GramE>(</span>profile);</pre><pre
-style='margin-left:8.5pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:8.5pt'><span
-style='mso-tab-count:2'>            </span><span class=GramE>out(</span>&quot;Profile '&quot; + <span
+style='margin-left:8.5pt'><span style='mso-tab-count:3'>                    </span><span
+lang=IT style='mso-ansi-language:IT'>Profile profile) {<o:p></o:p></span></pre><pre
+style='margin-left:8.5pt'><img border=0 width=24 height=13 id="_x0000_i1114"
+src="../../../../images/tag_1.gif" align=CENTER><span lang=IT style='mso-ansi-language:
+IT'><span style='mso-tab-count:2'>         </span>package_.applyProfile(profile);<o:p></o:p></span></pre><pre
+style='margin-left:8.5pt'><span lang=IT style='mso-ansi-language:IT'><o:p>&nbsp;</o:p></span></pre><pre
+style='margin-left:8.5pt'><span lang=IT style='mso-ansi-language:IT'><span
+style='mso-tab-count:2'>            </span></span><span class=GramE>out(</span>&quot;Profile '&quot; + <span
 class=SpellE>profile.getQualifiedName</span>() + &quot;' applied to package '&quot;</pre><pre
 style='margin-left:8.5pt'><span style='mso-tab-count:3'>                    </span>+ <span
 class=SpellE>package_.<span class=GramE>getQualifiedName</span></span><span
@@ -1797,7 +1919,7 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Here
 we call a convenience method on the package <img border=0 width=24 height=13
-id="_x0000_i1127" src="../../../../images/tag_1.gif" align=CENTER><span
+id="_x0000_i1115" src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>that creates a profile application on the
 package and sets the profile as the imported profile.</p>
 
@@ -1839,7 +1961,7 @@
 style='mso-bidi-font-weight:normal'>OK</b> button.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1128" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1116" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Apply the appropriate stereotypes to other
 properties (<b style='mso-bidi-font-weight:normal'>&lt;Property&gt; <span
 class=SpellE>shippedOrders</span> : <span class=SpellE>PurchaseOrder</span>
@@ -1859,28 +1981,28 @@
 this point your workspace should look something like this:</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><!--[if gte vml 1]><v:shape
- id="_x0000_i1129" type="#_x0000_t75" style='width:960pt;height:768pt'>
- <v:imagedata src="article_files/image033.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image034.jpg" v:shapes="_x0000_i1129"><![endif]></p>
+ id="_x0000_i1142" type="#_x0000_t75" style='width:696pt;height:709.5pt'>
+ <v:imagedata src="article_files/image029.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=928 height=946
+src="article_files/image030.jpg" v:shapes="_x0000_i1142"><![endif]></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=62 height=13 id="_x0000_i1130" src="../../../../images/tip.gif"><span
+border=0 width=62 height=13 id="_x0000_i1117" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>A stereotype (and its tagged values) can be
 unapplied using the <b style='mso-bidi-font-weight:normal'>UML Editor &gt;
 Element &gt; <span class=SpellE>Unapply</span> Stereotype…</b> menu item.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Let’s
-look at how to perform the same task using Java code. The code snippet below
-shows a method that programmatically applies a specified stereotype to a
-specified (named) element.</p>
+look at how to perform the same task using Java code. The code snippet below shows
+a method that programmatically applies a specified stereotype to a specified
+(named) element.</p>
 
 <pre style='margin-left:.25in'><span style='mso-tab-count:1'>   </span><span
 class=GramE>protected</span> static void <span class=SpellE>applyStereotype</span>(<span
 class=SpellE>NamedElement</span> <span class=SpellE>namedElement</span>,</pre><pre
 style='margin-left:.25in'><span style='mso-tab-count:3'>                   </span>Stereotype <span
 class=SpellE>stereotype</span>) {</pre><pre style='margin-left:.25in'><img
-border=0 width=24 height=13 id="_x0000_i1131" src="../../../../images/tag_1.gif"
+border=0 width=24 height=13 id="_x0000_i1118" src="../../../../images/tag_1.gif"
 align=CENTER><span style='mso-tab-count:2'>        </span><span class=SpellE><span
 class=GramE>namedElement.applyStereotype</span></span><span class=GramE>(</span>stereotype);</pre><pre
 style='margin-left:.25in'><o:p>&nbsp;</o:p></pre><pre style='margin-left:.25in'><span
@@ -1893,7 +2015,7 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Here
 we call a convenience method on the element <img border=0 width=24 height=13
-id="_x0000_i1132" src="../../../../images/tag_1.gif" align=CENTER><span
+id="_x0000_i1119" src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>that creates an instance of the <span
 class=SpellE>Ecore</span> class representing the specified stereotype (using
 dynamic EMF) and attaches it to the element using an annotation.</p>
@@ -1918,7 +2040,7 @@
 class=SpellE>pendingOrdersProperty</span>, <span class=SpellE>eReferenceStereotype</span>);</pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1133" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1120" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Write code to programmatically apply the
 appropriate stereotypes to other properties (i.e.
 ‘epo2::Supplier::shippedOrders’, ‘epo2::PurchaseOrder::totalAmount’,
@@ -1942,13 +2064,13 @@
 editor.</p>
 
 <p style='margin-left:27.5pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>2)
-Enter or select a value (i.e. <b>true</b>) for the property (i.e. <b
-style='mso-bidi-font-weight:normal'>Is Volatile</b>) under the category named for
-the stereotype (i.e. <span class=SpellE><b style='mso-bidi-font-weight:normal'>EReference</b></span>)
-in the <b>Properties</b> view.</p>
+Enter or select a value (i.e. <b>false</b>) for the property (i.e. <b
+style='mso-bidi-font-weight:normal'>Is Resolve Proxies</b>) under the category
+named for the stereotype (i.e. <span class=SpellE><b style='mso-bidi-font-weight:
+normal'>EReference</b></span>) in the <b>Properties</b> view.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1134" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1121" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Get and set values for other stereotype
 properties (i.e. <b style='mso-bidi-font-weight:normal'>Is Transient</b> and <b
 style='mso-bidi-font-weight:normal'>Is Resolve Proxies</b> under <span
@@ -1989,24 +2111,24 @@
 this point your workspace should look something like this:</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><!--[if gte vml 1]><v:shape
- id="_x0000_i1135" type="#_x0000_t75" style='width:960pt;height:768pt'>
- <v:imagedata src="article_files/image035.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image036.jpg" v:shapes="_x0000_i1135"><![endif]></p>
+ id="_x0000_i1143" type="#_x0000_t75" style='width:696pt;height:709.5pt'>
+ <v:imagedata src="article_files/image031.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=928 height=946
+src="article_files/image032.jpg" v:shapes="_x0000_i1143"><![endif]></p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Let’s
 look at how to perform the same task using Java code. The code snippet below
-shows a method that programmatically gets and returns the value of a specified property
-of a specified stereotype for a specified element.</p>
+shows a method that programmatically gets and returns the value of a specified
+property of a specified stereotype for a specified element.</p>
 
 <pre style='margin-left:.25in'><span style='mso-tab-count:1'>   </span><span
 class=GramE>protected</span> static Object <span class=SpellE>getStereotypePropertyValue</span>(</pre><pre
 style='margin-left:.25in'><span style='mso-tab-count:3'>                   </span><span
 class=SpellE>NamedElement</span> <span class=SpellE>namedElement</span>, Stereotype <span
 class=SpellE>stereotype</span>, Property <span class=SpellE>property</span>) {</pre><pre
-style='margin-left:.25in'><img border=0 width=24 height=13 id="_x0000_i1136"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>        </span>Object value = <span
-class=SpellE><span class=GramE>namedElement.getValue</span></span><span
+style='margin-left:.25in'><img border=0 width=24 height=13 id="_x0000_i1122"
+src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:
+2'>        </span>Object value = <span class=SpellE><span class=GramE>namedElement.getValue</span></span><span
 class=GramE>(</span>stereotype, <span class=SpellE>property.getName</span>());</pre><pre
 style='margin-left:.25in'><o:p>&nbsp;</o:p></pre><pre style='margin-left:.25in'><span
 style='mso-tab-count:2'>           </span><span class=GramE>out(</span>&quot;Value of stereotype property '&quot; + <span
@@ -2022,7 +2144,7 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Here
 we call a convenience method on the (named) element <img border=0 width=24
-height=13 id="_x0000_i1137" src="../../../../images/tag_1.gif" align=CENTER><span
+height=13 id="_x0000_i1123" src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>that retrieves the value of a property with a
 specified name from the dynamically created <span class=SpellE>Ecore</span>
 object instance corresponding to the specified applied stereotype, notifies the
@@ -2042,7 +2164,7 @@
 class=GramE>isVolatileProperty</span></span>);</pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1138" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1124" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Write code to programmatically get the values
 of the other stereotype properties for elements in the ExtendedPO2 model.</p>
 
@@ -2056,9 +2178,9 @@
 class=SpellE>NamedElement</span> <span class=SpellE>namedElement</span>,</pre><pre
 style='margin-left:.25in'><span style='mso-tab-count:3'>                   </span>Stereotype <span
 class=SpellE>stereotype</span>, Property <span class=SpellE>property</span>, Object value) {</pre><pre
-style='margin-left:.25in'><img border=0 width=24 height=13 id="_x0000_i1139"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>        </span><span
-class=SpellE><span class=GramE>namedElement.setValue</span></span><span
+style='margin-left:.25in'><img border=0 width=24 height=13 id="_x0000_i1125"
+src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:
+2'>        </span><span class=SpellE><span class=GramE>namedElement.setValue</span></span><span
 class=GramE>(</span>stereotype, <span class=SpellE>property.getName</span>(), value);</pre><pre
 style='margin-left:.25in'><o:p>&nbsp;</o:p></pre><pre style='margin-left:.25in'><span
 style='mso-tab-count:2'>           </span><span class=GramE>out(</span>&quot;Value of stereotype property '&quot; + <span
@@ -2072,7 +2194,7 @@
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Here
 we call a convenience method on the (named) element <img border=0 width=24
-height=13 id="_x0000_i1140" src="../../../../images/tag_1.gif" align=CENTER><span
+height=13 id="_x0000_i1126" src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>that sets the value of a property with a
 specified name in the dynamically created <span class=SpellE>Ecore</span>
 object instance corresponding to the specified applied stereotype and notifies
@@ -2093,7 +2215,7 @@
 class=GramE>isVolatileProperty</span></span>, <span class=SpellE>Boolean.TRUE</span>);</pre>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><img
-border=0 width=61 height=13 id="_x0000_i1141" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1127" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Write code to programmatically set the values
 of the other stereotype properties for elements in the ExtendedPO2 model.</p>
 
@@ -2107,8 +2229,9 @@
 UML2.</p>
 
 <p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>For
-more information on UML2, visit the <a href="http://www.eclipse.org/modeling/mdt/?project=uml2#uml2">home
-page</a> or join the <a href="news://news.eclipse.org/eclipse.modeling.mdt.uml2">newsgroup</a>.</p>
+more information on UML2, visit the <a
+href="http://www.eclipse.org/modeling/mdt/?project=uml2#uml2">home page</a> or
+join the <a href="news://news.eclipse.org/eclipse.modeling.mdt.uml2">newsgroup</a>.</p>
 
 <h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>References</h2>
 
@@ -2134,10 +2257,11 @@
 &gt; Import… &gt; External Plug-ins and Fragments</b>). You can run the <code>IntroductionToUML2Profiles</code>
 class as a Java application with two file <span class=SpellE>URIs</span> (e.g.
 “file:/C:/Introduction to UML2 Profiles” “<span class=SpellE>jar<span
-class=GramE>:file</span></span>:/C:/Eclipse 3.2/eclipse/plugins/org.eclipse.uml2.uml.resources_2.0.0.v200606221411.jar!/”) as program
-arguments. The first URI should refer to a folder that contains the ExtendedPO2
-model described in the “Getting Started with UML2” article. The second URI
-should use the JAR scheme (since the UML resources plug-in is <span
+class=GramE>:file</span></span>:/C:/Eclipse
+3.2/eclipse/plugins/org.eclipse.uml2.uml.resources_2.0.0.v200606221411.jar!/”)
+as program arguments. The first URI should refer to a folder that contains the
+ExtendedPO2 model described in the “Getting Started with UML2” article. The
+second URI should use the JAR scheme (since the UML resources plug-in is <span
 class=SpellE>JAR’d</span> as of UML2 1.1) and refer to the location of the <span
 style='font-family:"Courier New"'>org.eclipse.uml2.uml.resources</span> plug-<span
 class=SpellE>in’s</span> JAR archive.</p>
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/filelist.xml b/docs/articles/Introduction_to_UML2_Profiles/article_files/filelist.xml
index 145c9c3..18e66e3 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/filelist.xml
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/filelist.xml
@@ -1,11 +1,17 @@
 <xml xmlns:o="urn:schemas-microsoft-com:office:office">
  <o:MainFile HRef="../article.html"/>
- <o:File HRef="image001.emz"/>
+ <o:File HRef="image037.png"/>
+ <o:File HRef="image038.jpg"/>
+ <o:File HRef="image039.emz"/>
  <o:File HRef="image002.gif"/>
  <o:File HRef="image003.png"/>
  <o:File HRef="image004.jpg"/>
  <o:File HRef="image005.png"/>
  <o:File HRef="image006.jpg"/>
+ <o:File HRef="image001.png"/>
+ <o:File HRef="image040.jpg"/>
+ <o:File HRef="image041.png"/>
+ <o:File HRef="image042.jpg"/>
  <o:File HRef="image007.png"/>
  <o:File HRef="image008.jpg"/>
  <o:File HRef="image009.png"/>
@@ -32,9 +38,5 @@
  <o:File HRef="image030.jpg"/>
  <o:File HRef="image031.png"/>
  <o:File HRef="image032.jpg"/>
- <o:File HRef="image033.png"/>
- <o:File HRef="image034.jpg"/>
- <o:File HRef="image035.png"/>
- <o:File HRef="image036.jpg"/>
  <o:File HRef="filelist.xml"/>
 </xml>
\ No newline at end of file
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image001.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image001.png
new file mode 100644
index 0000000..2e8a5c7
--- /dev/null
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image001.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image007.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image007.png
index daf1ec1..8c58983 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image007.png
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image007.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image008.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image008.jpg
index 693d595..812ffbd 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image008.jpg
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image008.jpg
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image009.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image009.png
index 00c2a29..543ad41 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image009.png
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image009.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image010.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image010.jpg
index 3b9216a..84fbeea 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image010.jpg
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image010.jpg
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image011.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image011.png
index afdf7d9..ca2f4bf 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image011.png
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image011.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image012.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image012.jpg
index 87f96a0..fd18025 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image012.jpg
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image012.jpg
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image013.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image013.png
index 49b89a4..fb7e963 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image013.png
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image013.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image014.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image014.jpg
index 2813305..6924ed9 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image014.jpg
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image014.jpg
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image015.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image015.png
index 98c554e..2e7b976 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image015.png
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image015.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image016.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image016.jpg
index 74d98d4..775a4d8 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image016.jpg
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image016.jpg
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image017.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image017.png
index ce6f5aa..4f0df7c 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image017.png
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image017.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image018.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image018.jpg
index e0582da..8d74278 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image018.jpg
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image018.jpg
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image019.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image019.png
index b3b3413..ad38d36 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image019.png
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image019.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image020.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image020.jpg
index ce57885..4ae88df 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image020.jpg
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image020.jpg
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image021.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image021.png
index ed6b122..31ab9ba 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image021.png
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image021.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image022.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image022.jpg
index 00d22fe..6f2330d 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image022.jpg
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image022.jpg
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image023.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image023.png
index b65ace0..7e4cc63 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image023.png
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image023.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image024.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image024.jpg
index 731134d..d3786b9 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image024.jpg
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image024.jpg
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image025.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image025.png
index 6db1dbd..b32fb90 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image025.png
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image025.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image026.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image026.jpg
index cbfd7b0..22ec1e5 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image026.jpg
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image026.jpg
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image027.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image027.png
index 577c0f7..1197ecb 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image027.png
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image027.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image028.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image028.jpg
index 5e59e7b..093bcd6 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image028.jpg
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image028.jpg
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image029.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image029.png
index 8b09348..56f5502 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image029.png
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image029.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image030.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image030.jpg
index a0346d7..bd67acc 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image030.jpg
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image030.jpg
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image031.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image031.png
index dd762d9..172764f 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image031.png
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image031.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image032.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image032.jpg
index 9246076..bb79335 100644
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image032.jpg
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image032.jpg
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image033.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image033.png
deleted file mode 100644
index 148c386..0000000
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image033.png
+++ /dev/null
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image034.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image034.jpg
deleted file mode 100644
index 00f2cba..0000000
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image034.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image035.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image035.png
deleted file mode 100644
index c1e72e3..0000000
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image035.png
+++ /dev/null
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image036.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image036.jpg
deleted file mode 100644
index d43b850..0000000
--- a/docs/articles/Introduction_to_UML2_Profiles/article_files/image036.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image037.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image037.png
new file mode 100644
index 0000000..0b3545b
--- /dev/null
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image037.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image038.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image038.jpg
new file mode 100644
index 0000000..6a6b7c5
--- /dev/null
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image038.jpg
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image001.emz b/docs/articles/Introduction_to_UML2_Profiles/article_files/image039.emz
similarity index 100%
rename from docs/articles/Introduction_to_UML2_Profiles/article_files/image001.emz
rename to docs/articles/Introduction_to_UML2_Profiles/article_files/image039.emz
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image040.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image040.jpg
new file mode 100644
index 0000000..3517695
--- /dev/null
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image040.jpg
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image041.png b/docs/articles/Introduction_to_UML2_Profiles/article_files/image041.png
new file mode 100644
index 0000000..70b1725
--- /dev/null
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image041.png
Binary files differ
diff --git a/docs/articles/Introduction_to_UML2_Profiles/article_files/image042.jpg b/docs/articles/Introduction_to_UML2_Profiles/article_files/image042.jpg
new file mode 100644
index 0000000..a903328
--- /dev/null
+++ b/docs/articles/Introduction_to_UML2_Profiles/article_files/image042.jpg
Binary files differ