[205478] Update existing getting started articles.
diff --git a/docs/articles/Getting_Started_with_UML2/article.html b/docs/articles/Getting_Started_with_UML2/article.html
index 349a1e2..25c5bd2 100644
--- a/docs/articles/Getting_Started_with_UML2/article.html
+++ b/docs/articles/Getting_Started_with_UML2/article.html
@@ -1,6 +1,7 @@
 <html xmlns:v="urn:schemas-microsoft-com:vml"
 xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns:st1="urn:schemas-microsoft-com:office:smarttags"
 xmlns="http://www.w3.org/TR/REC-html40">
 
 <head>
@@ -19,33 +20,41 @@
 </style>
 <![endif]-->
 <title>Getting Started with UML2</title>
+<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
+ name="date"/>
 <!--[if gte mso 9]><xml>
  <o:DocumentProperties>
   <o:Author>khussey</o:Author>
   <o:Template>Normal</o:Template>
-  <o:LastAuthor>Kenn Hussey</o:LastAuthor>
-  <o:Revision>114</o:Revision>
-  <o:TotalTime>5197</o:TotalTime>
+  <o:LastAuthor>jbruck</o:LastAuthor>
+  <o:Revision>128</o:Revision>
+  <o:TotalTime>5345</o:TotalTime>
   <o:Created>2004-07-06T14:17:00Z</o:Created>
-  <o:LastSaved>2006-07-18T14:42:00Z</o:LastSaved>
+  <o:LastSaved>2008-07-11T18:06:00Z</o:LastSaved>
   <o:Pages>1</o:Pages>
-  <o:Words>5032</o:Words>
-  <o:Characters>28686</o:Characters>
+  <o:Words>5435</o:Words>
+  <o:Characters>30981</o:Characters>
   <o:Company>Rational Software</o:Company>
-  <o:Lines>239</o:Lines>
-  <o:Paragraphs>67</o:Paragraphs>
-  <o:CharactersWithSpaces>33651</o:CharactersWithSpaces>
-  <o:Version>10.6804</o:Version>
+  <o:Lines>258</o:Lines>
+  <o:Paragraphs>72</o:Paragraphs>
+  <o:CharactersWithSpaces>36344</o:CharactersWithSpaces>
+  <o:Version>10.6830</o:Version>
  </o:DocumentProperties>
 </xml><![endif]--><!--[if gte mso 9]><xml>
  <w:WordDocument>
+  <w:SpellingState>Clean</w:SpellingState>
   <w:GrammarState>Clean</w:GrammarState>
   <w:Compatibility>
    <w:ApplyBreakingRules/>
   </w:Compatibility>
   <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
  </w:WordDocument>
-</xml><![endif]-->
+</xml><![endif]--><!--[if !mso]><object
+ classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
+<style>
+st1\:*{behavior:url(#ieooui) }
+</style>
+<![endif]-->
 <link rel=Stylesheet type="text/css" media=all href="default_style.css">
 <style>
 <!--
@@ -53,21 +62,28 @@
  @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:roman;
-	mso-font-format:other;
+	mso-generic-font-family:modern;
 	mso-font-pitch:fixed;
-	mso-font-signature:1 134676480 16 0 131072 0;}
+	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;}
 @font-face
 	{font-family:"\@MS Mincho";
+	panose-1:2 2 6 9 4 2 5 8 3 4;
 	mso-font-charset:128;
 	mso-generic-font-family:modern;
 	mso-font-pitch:fixed;
@@ -121,6 +137,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;
@@ -157,6 +182,9 @@
 	mso-pagination:widow-orphan;
 	font-size:7.5pt;
 	mso-fareast-font-family:"Times New Roman";}
+span.SpellE
+	{mso-style-name:"";
+	mso-spl-e:yes;}
 span.GramE
 	{mso-style-name:"";
 	mso-gram-e:yes;}
@@ -168,6 +196,20 @@
 	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;}
+ol
+	{margin-bottom:0in;}
+ul
+	{margin-bottom:0in;}
 -->
 </style>
 <!--[if gte mso 10]>
@@ -192,7 +234,7 @@
 	{margin-left:8.5pt;}
 </style>
 <![endif]><!--[if gte mso 9]><xml>
- <o:shapedefaults v:ext="edit" spidmax="15362"/>
+ <o:shapedefaults v:ext="edit" spidmax="16386"/>
 </xml><![endif]--><!--[if gte mso 9]><xml>
  <o:shapelayout v:ext="edit">
   <o:idmap v:ext="edit" data="1"/>
@@ -205,7 +247,7 @@
 <div class=Section1>
 
 <p class=MsoNormal align=right style='text-align:right'><span style='font-size:
-10.0pt'>Copyright © 2004, 2006 International Business Machines Corp.</span><span
+10.0pt'>Copyright © 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>
@@ -237,13 +279,16 @@
 <![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'>
 <![endif]><o:p></o:p></span></p>
 
-<p class=MsoNormal><span style='font-size:10.0pt;font-family:Arial'>This article
-describes how to get started with the UML2 plug-ins for Eclipse. In particular,
-it gives an overview of how to create models (and their contents) both
-programmatically and by using the sample UML editor.<o:p></o:p></span></p>
+<p class=MsoNormal><span style='font-size:10.0pt;font-family:Arial'>This
+article describes how to get started with the UML2 plug-ins for Eclipse. In
+particular, it gives an overview of how to create models (and their contents)
+both programmatically and by using the sample UML editor.<o:p></o:p></span></p>
 
-<p><b>By Kenn Hussey, IBM</b><br>
-July 18, 2006 </p>
+<p><b>By <span class=SpellE>Kenn</span> Hussey, IBM</b><br>
+<st1:date Year="2006" Day="18" Month="7">July 18, 2006</st1:date> <span
+style='mso-spacerun:yes'>   </span><span
+style='mso-spacerun:yes'> </span>(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>
 
@@ -258,26 +303,39 @@
 
 <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/downloads/">Eclipse 3.2</a></span>, <span
+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.2</a></span>,
+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.0</a></span>
-installed.</p>
+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 models using UML2.
-Using a simple model (the ExtendedPO2 model, shamelessly “borrowed” from the
-EMF “bible” [1]) as an example, we’ll look at what’s involved in creating some
-of the more common elements that make up a model. For each type of element,
-we’ll first explain the creation process using the sample UML editor and then
-explore how to accomplish the same thing using Java code. 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"/>
@@ -295,18 +353,53 @@
  </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_i1027" type="#_x0000_t75" style='width:554.25pt;
+</v:shapetype><v:shape id="_x0000_i1087" type="#_x0000_t75" style='width:581.25pt;
+ height:408.75pt'>
+ <v:imagedata src="article_files/image001.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=775 height=545
+src="article_files/image022.jpg" v:shapes="_x0000_i1087"><![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>
+
+<p><o:p>&nbsp;</o:p></p>
+
+<h2>Introduction</h2>
+
+<p>This article will walk you through the basics of creating models using UML2.
+Using a simple model (the ExtendedPO2 model, shamelessly “borrowed” from the EMF
+“bible” [1]) as an example, we’ll look at what’s involved in creating some of
+the more common elements that make up a model. For each type of element, we’ll
+first explain the creation process using the sample UML editor and then explore
+how to accomplish the same thing using Java code. The ExtendedPO2 model is
+shown below.</p>
+
+<p><!--[if gte vml 1]><v:shape id="_x0000_i1027" type="#_x0000_t75" style='width:554.25pt;
  height:406.5pt'>
- <v:imagedata src="article_files/image001.emz" o:title=""/>
+ <v:imagedata src="article_files/image021.emz" o:title=""/>
 </v:shape><![endif]--><![if !vml]><img border=0 width=739 height=542
 src="article_files/image002.gif" v:shapes="_x0000_i1027"><![endif]></p>
 
 <h2>Getting Started</h2>
 
-<p>Before getting started, you’ll need to create a simple project in your workspace.
-This project will serve as the container for the model that we’ll create using
-the UML editor. To create a simple project for this article, follow these
-steps:</p>
+<p>Before getting started, you’ll need to create a simple project in your
+workspace. This project will serve as the container for the model that we’ll
+create using the UML editor. To create a simple project for this article,
+follow these steps:</p>
 
 <p style='margin-left:27.5pt'>1) Select the <b>Window &gt; Open Perspective
 &gt; <span class=GramE>Other</span>…</b> menu item.</p>
@@ -325,11 +418,11 @@
 
 <p>At this point your workspace should look something like this:</p>
 
-<p><!--[if gte vml 1]><v:shape id="_x0000_i1028" type="#_x0000_t75" style='width:960pt;
- height:768pt'>
- <v:imagedata src="article_files/image003.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image004.jpg" v:shapes="_x0000_i1028"><![endif]></p>
+<p><!--[if gte vml 1]><v:shape id="_x0000_i1088" type="#_x0000_t75" style='width:655.5pt;
+ height:447.75pt'>
+ <v:imagedata src="article_files/image023.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=874 height=597
+src="article_files/image024.jpg" v:shapes="_x0000_i1088"><![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 models, we’ll assume
@@ -339,37 +432,41 @@
 information on the program’s status:</p>
 
 <pre style='margin-left:9.0pt'><img border=0 width=24 height=14
-id="_x0000_i1029" src="../../../../images/tag_1.gif" align=CENTER><span
-style='mso-tab-count:1'>  </span><span class=GramE>public</span> static boolean DEBUG = true;</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 out(String output) {</pre><pre
+id="_x0000_i1028" src="../../../../images/tag_1.gif" align=CENTER><span
+style='mso-tab-count:1'>  </span><span class=GramE>public</span> static <span
+class=SpellE>boolean</span> DEBUG = true;</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 out(String output) {</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>if</span> (DEBUG) {</pre><pre
+style='margin-left:9.0pt'><img border=0 width=24 height=14 id="_x0000_i1029"
+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_i1030"
-src="../../../../images/tag_2.gif" align=CENTER><span style='mso-tab-count:3'>                 </span><span
-class=GramE>System.out.println(</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_i1031"
-src="../../../../images/tag_3.gif" align=CENTER><span style='mso-tab-count:2'>         </span><span
-class=GramE>System.err.println(</span>error);</pre><pre style='margin-left:
-9.0pt'><span style='mso-tab-count:1'>     </span>}</pre>
+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_i1032"
+static debug flag <img border=0 width=24 height=14 id="_x0000_i1031"
 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_i1033" src="../../../../images/tag_2.gif"
+border=0 width=24 height=14 id="_x0000_i1032" 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_i1034"
+class=GramE>stream </span><img border=0 width=24 height=14 id="_x0000_i1033"
 src="../../../../images/tag_3.gif" align=CENTER>.</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'>All
-righty then! In each of the following subsections, we’ll look at how to create
-a different kind of UML element, starting with models.</p>
+<span class=SpellE>righty</span> then! In each of the following subsections,
+we’ll look at how to create a different kind of UML element, starting with
+models.</p>
 
 <h3 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'>Creating
 Models</h3>
@@ -380,8 +477,8 @@
 modeled. To create a model 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 project (i.e. <b>Getting Started with UML2</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>Getting Started with UML2</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)
@@ -410,10 +507,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_i1035" type="#_x0000_t75" style='width:960pt;height:768pt'>
- <v:imagedata src="article_files/image005.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image006.jpg" v:shapes="_x0000_i1035"><![endif]></p>
+ id="_x0000_i1089" type="#_x0000_t75" style='width:655.5pt;height:447.75pt'>
+ <v:imagedata src="article_files/image025.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=874 height=597
+src="article_files/image026.jpg" v:shapes="_x0000_i1089"><![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
@@ -421,38 +518,41 @@
 specified name.</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
-class=GramE>protected</span> static Model createModel(String name) {</pre><pre
+class=GramE>protected</span> static Model <span class=SpellE>createModel</span>(String name) {</pre><pre
+style='margin-left:9.0pt'><img border=0 width=24 height=14 id="_x0000_i1034"
+src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:
+2'>         </span>Model <span class=SpellE>model</span> = <span class=SpellE><span
+class=GramE>UMLFactory.eINSTANCE.createModel</span></span><span class=GramE>(</span>);</pre><pre
+style='margin-left:9.0pt'><img border=0 width=24 height=14 id="_x0000_i1035"
+src="../../../../images/tag_2.gif" align=CENTER><span style='mso-tab-count:
+2'>         </span><span class=SpellE><span class=GramE>model.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_i1036"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>         </span>Model model = <span
-class=GramE>UMLFactory.eINSTANCE.createModel(</span>);</pre><pre
-style='margin-left:9.0pt'><img border=0 width=24 height=14 id="_x0000_i1037"
-src="../../../../images/tag_2.gif" align=CENTER><span style='mso-tab-count:2'>         </span><span
-class=GramE>model.setName(</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_i1038"
-src="../../../../images/tag_3.gif" align=CENTER><span style='mso-tab-count:2'>         </span><span
-class=GramE>out(</span>&quot;Model '&quot; + model.getQualifiedName() + &quot;' created.&quot;);</pre><pre
+src="../../../../images/tag_3.gif" align=CENTER><span style='mso-tab-count:
+2'>         </span><span class=GramE>out(</span>&quot;Model '&quot; + <span
+class=SpellE>model.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_i1039" src="../../../../images/tag_4.gif"
+border=0 width=24 height=14 id="_x0000_i1037" src="../../../../images/tag_4.gif"
 align=CENTER><span style='mso-tab-count:2'>         </span><span class=GramE>return</span> model;</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_i1040" src="../../../../images/tag_1.gif" align=CENTER><span
+id="_x0000_i1038" src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>to create a model, and we set its <span
-class=GramE>name </span><img border=0 width=24 height=14 id="_x0000_i1041"
+class=GramE>name </span><img border=0 width=24 height=14 id="_x0000_i1039"
 src="../../../../images/tag_2.gif" align=CENTER>. Then, we output information <img
-border=0 width=24 height=14 id="_x0000_i1042" src="../../../../images/tag_3.gif"
+border=0 width=24 height=14 id="_x0000_i1040" src="../../../../images/tag_3.gif"
 align=CENTER><span style='mso-spacerun:yes'> </span>to the user to let them
 know that the model has been successfully created. Finally, we return <img
-border=0 width=24 height=14 id="_x0000_i1043" src="../../../../images/tag_4.gif"
+border=0 width=24 height=14 id="_x0000_i1041" src="../../../../images/tag_4.gif"
 align=CENTER><span style='mso-spacerun:yes'> </span>the model. 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
 return it.</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_i1044" src="../../../../images/tip.gif"><span
+border=0 width=63 height=14 id="_x0000_i1042" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>All named elements (a model is a type of named
 element) have a “simple” name and a qualified name. The qualified name is the
 “simple” name prefixed with the “simple” names of <span class=GramE>all of the</span>
@@ -465,19 +565,21 @@
 ‘epo2’ as follows:</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span>Model epo2Model = <span
-class=GramE>createModel(</span>&quot;epo2&quot;);</pre>
+class=SpellE><span class=GramE>createModel</span></span><span class=GramE>(</span>&quot;epo2&quot;);</pre>
 
 <h3 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'>Creating
 Packages</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'>A
-package is a namespace for its members (<i style='mso-bidi-font-style:normal'>packageable
-elements</i>), and may contain other packages. A package can import either
-individual members of other packages, or all of the members of other packages.
-To create a package using the UML editor, follow these steps:</p>
+package is a namespace for its members (<span class=SpellE><i style='mso-bidi-font-style:
+normal'>packageable</i></span><i style='mso-bidi-font-style:normal'> elements</i>),
+and may contain other packages. A package can import either individual members
+of other packages, or all of the members of other packages. To create a package
+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 package (e.g. &lt;<b>Package&gt; foo</b>) in the UML editor.</p>
+Select a package (e.g. &lt;<b>Package&gt; <span class=SpellE>foo</span></b>) 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 Package</b>
@@ -498,47 +600,53 @@
 specified name in a specified nesting package.</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
-class=GramE>protected</span> static org.eclipse.uml2.uml.Package createPackage(</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
-class=GramE>org.eclipse.uml2.uml.Package</span> nestingPackage, String name) {</pre><pre
-style='margin-left:9.0pt'><img border=0 width=24 height=14 id="_x0000_i1045"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>         </span>org.eclipse.uml2.uml.Package package_ = nestingPackage</pre><pre
+class=GramE>protected</span> static org.eclipse.uml2.uml.Package <span
+class=SpellE>createPackage</span>(</pre><pre style='margin-left:9.0pt'><span
+style='mso-tab-count:3'>                    </span><span class=GramE>org.eclipse.uml2.uml.Package</span> <span
+class=SpellE>nestingPackage</span>, String name) {</pre><pre style='margin-left:
+9.0pt'><img border=0 width=24 height=14 id="_x0000_i1043"
+src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:
+2'>         </span>org.eclipse.uml2.uml.Package package_ = <span class=SpellE>nestingPackage</span></pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>.<span
-class=GramE>createNestedPackage(</span>name);</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;Package '&quot; + package_.getQualifiedName() + &quot;' created.&quot;);</pre><pre
+class=SpellE><span class=GramE>createNestedPackage</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'><span style='mso-tab-count:2'>            </span><span
+class=GramE>out(</span>&quot;Package '&quot; + <span class=SpellE>package_.getQualifiedName</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> package_;</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,
 instead of asking the factory to create the package for us, we’re making use of
-one of the factory methods <img border=0 width=24 height=14 id="_x0000_i1046"
+one of the factory methods <img border=0 width=24 height=14 id="_x0000_i1044"
 src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>in the UML2 API.</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_i1047" src="../../../../images/tip.gif"><span
-style='mso-spacerun:yes'> </span>In UML2, a factory method exists for every
-feature that can contain other elements (i.e. every containment feature). In
-addition, more convenient factory methods exist for commonly created types
-(like packages). In this case, the package has a feature (<code>packagedElement</code>)
-that can contain packageable elements, so we could obtain the Ecore class of
-the type of (packageable) element we want to create (i.e. <code>Package</code>)
-from the UML Ecore package singleton, and pass it to the <span class=GramE><code>createPackagedElement(</code></span><code>String,
-EClass)</code> factory method. Instead, we use the more convenient <span
-class=GramE><code>createNestedPackage(</code></span><code>String)</code>
+border=0 width=63 height=14 id="_x0000_i1045" src="../../../../images/tip.gif"><span
+style='mso-spacerun:yes'> </span>In UML2, a factory method exists for every feature
+that can contain other elements (i.e. every containment feature). In addition,
+more convenient factory methods exist for commonly created types (like
+packages). In this case, the package has a feature (<span class=SpellE><code>packagedElement</code></span>)
+that can contain <span class=SpellE>packageable</span> elements, so we could
+obtain the <span class=SpellE>Ecore</span> class of the type of (<span
+class=SpellE>packageable</span>) element we want to create (i.e. <code>Package</code>)
+from the UML <span class=SpellE>Ecore</span> package singleton, and pass it to
+the <span class=SpellE><span class=GramE><code>createPackagedElement</code></span></span><span
+class=GramE><code>(</code></span><code>String, <span class=SpellE>EClass</span>)</code>
+factory method. Instead, we use the more convenient <span class=SpellE><span
+class=GramE><code>createNestedPackage</code></span></span><span class=GramE><code>(</code></span><code>String)</code>
 factory method which implicitly creates a package and accepts the desired
 package name as an argument. Behind the scenes, the package will create a
-nested package, set its name, and add the package to its list of packaged
-elements.</p>
+nested package, set its name, and add the package to its list of 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 a package named
-‘bar’ in nesting package ‘foo’ as follows:</p>
+‘bar’ in nesting package ‘<span class=SpellE>foo</span>’ as follows:</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>org.eclipse.uml2.uml.Package</span> barPackage = createPackage(fooPackage, &quot;bar&quot;);</pre>
+class=GramE>org.eclipse.uml2.uml.Package</span> <span class=SpellE>barPackage</span> = <span
+class=SpellE>createPackage</span>(<span class=SpellE>fooPackage</span>, &quot;bar&quot;);</pre>
 
 <h3 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'>Creating
 Primitive Types</h3>
@@ -546,22 +654,23 @@
 <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
 primitive type defines a predefined data type, without any relevant
 substructure. Primitive types used in UML™ itself include <code>Boolean</code>,
-<code>Integer</code>, <code>UnlimitedNatural</code>, and <code>String</code>.
-To create a primitive type using the UML editor, follow these steps:</p>
+<code>Integer</code>, <span class=SpellE><code>UnlimitedNatural</code></span>,
+and <code>String</code>. To create a primitive type 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 package (i.e. &lt;<b>Model&gt; epo2</b>) 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 Primitive Type</b>
-option from the context menu.</p>
+Right-click and select the <b>New Child &gt; Packaged Element &gt; Primitive
+Type</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. “int”) for the <b>Name</b> property in the <b>Properties</b>
-view.</p>
+Enter a value (i.e. “<span class=SpellE>int</span>”) 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_i1048" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1046" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Create the remaining primitive types from the
 ExtendedPO2 model using the UML editor.</p>
 
@@ -569,10 +678,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_i1049" 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_i1049"><![endif]></p>
+ id="_x0000_i1090" type="#_x0000_t75" style='width:655.5pt;height:447.75pt'>
+ <v:imagedata src="article_files/image003.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=874 height=597
+src="article_files/image004.jpg" v:shapes="_x0000_i1090"><![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
@@ -580,35 +689,43 @@
 a specified name in a specified package.</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
-class=GramE>protected</span> static PrimitiveType createPrimitiveType(</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_i1050"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>         </span>PrimitiveType primitiveType = (PrimitiveType) package_</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>.<span
-class=GramE>createOwnedPrimitiveType(</span>name);</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;Primitive type '&quot; + primitiveType.getQualifiedName()</pre><pre
+class=GramE>protected</span> static <span class=SpellE>PrimitiveType</span> <span
+class=SpellE>createPrimitiveType</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_i1047"
+src="../../../../images/tag_1.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>) package_</pre><pre style='margin-left:9.0pt'><span
+style='mso-tab-count:3'>                    </span>.<span class=SpellE><span
+class=GramE>createOwnedPrimitiveType</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'><span
+style='mso-tab-count:2'>            </span><span class=GramE>out(</span>&quot;Primitive type '&quot; + <span
+class=SpellE>primitiveType.getQualifiedName</span>()</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </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> primitiveType;</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span>}</pre>
+style='mso-tab-count:2'>            </span><span class=GramE>return</span> <span
+class=SpellE>primitiveType</span>;</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 the <span class=GramE><code>createOwnedPrimitiveType(</code></span><code>String)</code>
-convenience factory method <img border=0 width=24 height=13 id="_x0000_i1051"
+we call the <span class=SpellE><span class=GramE><code>createOwnedPrimitiveType</code></span></span><span
+class=GramE><code>(</code></span><code>String)</code> convenience factory
+method <img border=0 width=24 height=13 id="_x0000_i1048"
 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>
 
 <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 primitive type
-named ‘int’ in model ‘epo2’ as follows:</p>
+named ‘<span class=SpellE>int</span>’ in model ‘epo2’ as follows:</p>
 
-<pre style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span>PrimitiveType intPrimitiveType = <span
-class=GramE>createPrimitiveType(</span>epo2Model, &quot;int&quot;);</pre>
+<pre style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
+class=SpellE>PrimitiveType</span> <span class=SpellE>intPrimitiveType</span> = <span
+class=SpellE><span class=GramE>createPrimitiveType</span></span><span
+class=GramE>(</span>epo2Model, &quot;<span class=SpellE>int</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_i1052" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1049" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Write code to programmatically create the
 remaining primitive types from the ExtendedPO2 model.</p>
 
@@ -624,21 +741,21 @@
 Select a package (i.e. &lt;<b>Model&gt; epo2</b>) 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)
-Enter a value (i.e. “OrderStatus”) for the <b>Name</b> property in the <b>Properties</b>
-view.</p>
+Enter a value (i.e. “<span class=SpellE>OrderStatus</span>”) 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'>At
 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_i1053" 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_i1053"><![endif]></p>
+ id="_x0000_i1091" type="#_x0000_t75" style='width:655.5pt;height:447.75pt'>
+ <v:imagedata src="article_files/image005.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=874 height=597
+src="article_files/image006.jpg" v:shapes="_x0000_i1091"><![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
@@ -646,32 +763,37 @@
 specified name in a specified package.</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
-class=GramE>protected</span> static Enumeration createEnumeration(</pre><pre
+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_i1054"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>         </span>Enumeration enumeration = (Enumeration) package_</pre><pre
+style='margin-left:9.0pt'><img border=0 width=24 height=13 id="_x0000_i1050"
+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=GramE>createOwnedEnumeraton(</span>name);</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;Enumeration '&quot; + enumeration.getQualifiedName() + &quot;' created.&quot;);</pre><pre
+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
+style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
+class=GramE>out(</span>&quot;Enumeration '&quot; + <span class=SpellE>enumeration.getQualifiedName</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> enumeration;</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 the <span class=GramE><code>createOwnedEnumeration(</code></span><code>String)</code>
-convenience factory method <img border=0 width=24 height=13 id="_x0000_i1055"
+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_i1051"
 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>
 
 <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
-named ‘OrderStatus’ in model ‘epo2’ as follows:</p>
+named ‘<span class=SpellE>OrderStatus</span>’ in model ‘epo2’ as follows:</p>
 
-<pre style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span>Enumeration orderStatusEnumeration = <span
-class=GramE>createEnumeration(</span>epo2Model,</pre><pre style='margin-left:
-9.0pt'><span style='mso-tab-count:3'>                    </span>&quot;OrderStatus&quot;);</pre>
+<pre style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span>Enumeration <span
+class=SpellE>orderStatusEnumeration</span> = <span class=SpellE><span
+class=GramE>createEnumeration</span></span><span class=GramE>(</span>epo2Model,</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>&quot;<span
+class=SpellE>OrderStatus</span>&quot;);</pre>
 
 <h3 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'>Creating
 Enumeration Literals</h3>
@@ -681,19 +803,19 @@
 an enumeration literal 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 an enumeration (i.e. &lt;<b>Enumeration&gt; OrderStatus</b>) in the UML
-editor.</p>
+Select an enumeration (i.e. &lt;<b>Enumeration&gt; <span class=SpellE>OrderStatus</span></b>)
+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. “Pending”) 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_i1056" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1052" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Create the remaining enumeration literals from
 the ExtendedPO2 model using the UML editor.</p>
 
@@ -701,10 +823,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_i1057" 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_i1057"><![endif]></p>
+ id="_x0000_i1092" type="#_x0000_t75" style='width:655.5pt;height:447.75pt'>
+ <v:imagedata src="article_files/image007.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=874 height=597
+src="article_files/image008.jpg" v:shapes="_x0000_i1092"><![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
@@ -712,35 +834,44 @@
 with a specified name in a specified enumeration.</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
-class=GramE>protected</span> static EnumerationLiteral createEnumerationLiteral(</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>Enumeration enumeration, String name) {</pre><pre
-style='margin-left:9.0pt'><img border=0 width=24 height=13 id="_x0000_i1058"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>         </span>EnumerationLiteral enumerationLiteral = enumeration</pre><pre
+class=GramE>protected</span> static <span class=SpellE>EnumerationLiteral</span> <span
+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_i1053"
+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=GramE>createOwnedLiteral(</span>name);</pre><pre style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre
+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
 style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>out(</span>&quot;Enumeration literal '&quot; + enumerationLiteral.getQualifiedName()</pre><pre
+class=GramE>out(</span>&quot;Enumeration literal '&quot; + <span class=SpellE>enumerationLiteral.getQualifiedName</span>()</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </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> enumerationLiteral;</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span>}</pre>
+style='mso-tab-count:2'>            </span><span class=GramE>return</span> <span
+class=SpellE>enumerationLiteral</span>;</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 <span class=GramE><code>createOwnedLiteral(</code></span><code>String)</code>
-convenience factory method <img border=0 width=24 height=13 id="_x0000_i1059"
+we call a <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_i1054"
 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 ‘Pending’ in enumeration ‘OrderStatus’ as follows:</p>
+literal named ‘Pending’ in enumeration ‘<span class=SpellE>OrderStatus</span>’
+as follows:</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>createEnumerationLiteral(</span>orderStatusEnumeration, &quot;Pending&quot;);</pre>
+class=SpellE><span class=GramE>createEnumerationLiteral</span></span><span
+class=GramE>(</span><span class=SpellE>orderStatusEnumeration</span>, &quot;Pending&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_i1060" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1055" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Write code to programmatically create the
 remaining enumeration literals from the ExtendedPO2 model.</p>
 
@@ -756,15 +887,15 @@
 Select a package (i.e. &lt;<b>Model&gt; epo2</b>) 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 Class</b> option
-from the context menu.</p>
+Right-click and select the <b>New Child &gt; Packaged Element &gt; Class</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. “Supplier”) 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_i1061" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1056" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Create the remaining classes from the
 ExtendedPO2 model using the UML editor.</p>
 
@@ -772,10 +903,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_i1062" 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_i1062"><![endif]></p>
+ id="_x0000_i1093" type="#_x0000_t75" style='width:655.5pt;height:509.25pt'>
+ <v:imagedata src="article_files/image009.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=874 height=679
+src="article_files/image010.jpg" v:shapes="_x0000_i1093"><![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
@@ -783,44 +914,52 @@
 (abstract) class with a specified name in a specified package.</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
-class=GramE>protected</span> static org.eclipse.uml2.uml.Class createClass(</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>org.eclipse.uml2.uml.Package package_, String name, <span
-class=GramE>boolean</span> isAbstract) {</pre><pre style='margin-left:9.0pt'><img
-border=0 width=24 height=13 id="_x0000_i1063" src="../../../../images/tag_1.gif"
-align=CENTER><span style='mso-tab-count:2'>         </span>org.eclipse.uml2.uml.Class class_ = package_.<span
-class=GramE>createOwnedClass(</span>name,</pre><pre style='margin-left:9.0pt'><span
-style='mso-tab-count:3'>                    </span><span class=GramE>isAbstract</span>);</pre><pre
+class=GramE>protected</span> static org.eclipse.uml2.uml.Class <span
+class=SpellE>createClass</span>(</pre><pre style='margin-left:9.0pt'><span
+style='mso-tab-count:3'>                    </span>org.eclipse.uml2.uml.Package package_, String name, <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=13 id="_x0000_i1057"
+src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:
+2'>         </span>org.eclipse.uml2.uml.Class class_ = <span class=SpellE>package_.<span
+class=GramE>createOwnedClass</span></span><span class=GramE>(</span>name,</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
+class=SpellE><span class=GramE>isAbstract</span></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;Class '&quot; + class_.getQualifiedName() + &quot;' created.&quot;);</pre><pre
+style='mso-tab-count:2'>            </span><span class=GramE>out(</span>&quot;Class '&quot; + <span
+class=SpellE>class_.getQualifiedName</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> class_;</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 the <span class=GramE><code>createOwnedClass(</code></span><code>String,
-boolean)</code> convenience factory method <img border=0 width=24 height=13
-id="_x0000_i1064" src="../../../../images/tag_1.gif" align=CENTER><span
+we call the <span class=SpellE><span class=GramE><code>createOwnedClass</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_i1058"
+src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>to ask the package to create a class with the
-specified name as one of its packaged elements, and set the <code>isAbstract</code>
-attribute of the class based on the specified <code>boolean</code> argument.</p>
+specified name as one of its packaged elements, and set the <span class=SpellE><code>isAbstract</code></span>
+attribute of the class based on the specified <span class=SpellE><code>boolean</code></span>
+argument.</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_i1065" src="../../../../images/tip.gif"><span
+border=0 width=62 height=13 id="_x0000_i1059" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>You may have noticed that we have been fully
 qualifying references to the <code>Package</code> and <code>Class</code>
-interfaces. This is recommended so that these types are not confused with <code>java.lang.Class</code>
-and <code>java.lang.Package</code>, which are imported implicitly in Java.</p>
+interfaces. This is recommended so that these types are not confused with <span
+class=SpellE><code>java.lang.Class</code></span> and <span class=SpellE><code>java.lang.Package</code></span>,
+which are imported implicitly in Java.</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-abstract
 class named ‘Supplier’ in model ‘epo2’ as follows:</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>org.eclipse.uml2.uml.Class</span> supplierClass = createClass(epo2Model,</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>&quot;Supplier&quot;, false);</pre>
+class=GramE>org.eclipse.uml2.uml.Class</span> <span class=SpellE>supplierClass</span> = <span
+class=SpellE>createClass</span>(epo2Model,</pre><pre style='margin-left:9.0pt'><span
+style='mso-tab-count:3'>                    </span>&quot;Supplier&quot;, 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_i1066" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1060" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Write code to programmatically create the
 remaining classes from the ExtendedPO2 model.</p>
 
@@ -835,18 +974,19 @@
 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 classifier (i.e. &lt;<b>Class&gt; USAddress</b>) in the UML editor.</p>
+Select a classifier (i.e. &lt;<b>Class&gt; <span class=SpellE>USAddress</span></b>)
+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. <b>epo2::Address</b>) 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_i1067" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1061" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Create the remaining generalizations from the
 ExtendedPO2 model using the UML editor.</p>
 
@@ -854,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/image015.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=1280 height=1024
-src="article_files/image016.jpg" v:shapes="_x0000_i1068"><![endif]></p>
+ id="_x0000_i1094" type="#_x0000_t75" style='width:655.5pt;height:509.25pt'>
+ <v:imagedata src="article_files/image011.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=874 height=679
+src="article_files/image012.jpg" v:shapes="_x0000_i1094"><![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
@@ -865,36 +1005,44 @@
 between specified specific and general classifiers.</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
-class=GramE>protected</span> static Generalization createGeneralization(</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>Classifier specificClassifier, Classifier generalClassifier) {</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span>Generalization generalization = specificClassifier</pre><pre
-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=GramE>createGeneralization(</span>generalClassifier);</pre><pre
+class=GramE>protected</span> static Generalization <span class=SpellE>createGeneralization</span>(</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>Classifier <span
+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_i1062"
+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; + specificClassifier.getQualifiedName() + &quot; -&gt;&gt; &quot;</pre><pre
+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:3'>                    </span>+ <span
-class=GramE>generalClassifier.getQualifiedName(</span>) + &quot; created.&quot;);</pre><pre
-style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre style='margin-left:9.0pt'><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_i1070"
+generalization <img border=0 width=24 height=13 id="_x0000_i1063"
 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>
 
 <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 generalization
-between specific class ‘USAddress’ and general class ‘Address’ as follows:</p>
+between specific class ‘<span class=SpellE>USAddress</span>’ and general class
+‘Address’ as follows:</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>createGeneralization(</span>usAddressClass, addressClass);</pre>
+class=SpellE><span class=GramE>createGeneralization</span></span><span
+class=GramE>(</span><span class=SpellE>usAddressClass</span>, <span
+class=SpellE>addressClass</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_i1071" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1064" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Write code to programmatically create the
 remaining generalizations from the ExtendedPO2 model.</p>
 
@@ -907,21 +1055,21 @@
 of the attribute.</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_i1072" src="../../../../images/tip.gif"><span
+border=0 width=62 height=13 id="_x0000_i1065" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>The types of <code>Classifier</code> that can
-own attributes in UML2 include <code>Artifact</code>, <code>DataType</code>, <code>Interface</code>,
-<code>Signal</code>, and <code>StructuredClassifier</code> (and their
-subtypes).</p>
+own attributes in UML2 include <code>Artifact</code>, <span class=SpellE><code>DataType</code></span>,
+<code>Interface</code>, <code>Signal</code>, and <span class=SpellE><code>StructuredClassifier</code></span>
+(and their subtypes).</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'>To
 create an attribute 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 classifier (i.e. &lt;<b>Class&gt; Supplier</b>) in the UML editor.</p>
+Select a classifier (i.e. &lt;<b>Class&gt; Address</b>) 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;name”) for the <b>Name</b> property in the <b>Properties</b>
@@ -936,7 +1084,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=62 height=13 id="_x0000_i1073" src="../../../../images/tip.gif"><span
+border=0 width=62 height=13 id="_x0000_i1066" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>Lower and upper values for multiplicity
 elements (like properties) are represented as value specifications (first-class
 objects) in UML™ 2.x. The default value for lower and upper bounds is 1, unless
@@ -947,7 +1095,7 @@
 unlimited natural. </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_i1074" 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 remaining attributes from the
 ExtendedPO2 model using the UML editor.</p>
 
@@ -955,10 +1103,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_i1075" 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_i1075"><![endif]></p>
+ id="_x0000_i1095" type="#_x0000_t75" style='width:699pt;height:643.5pt'>
+ <v:imagedata src="article_files/image013.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=932 height=858
+src="article_files/image014.jpg" v:shapes="_x0000_i1095"><![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
@@ -966,55 +1114,74 @@
 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 createAttribute(org.eclipse.uml2.uml.Class class_,</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>String name, Type type, int lowerBound, int upperBound) {</pre><pre
-style='margin-left:9.0pt'><img border=0 width=24 height=13 id="_x0000_i1076"
-src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:2'>         </span>Property attribute = class_.<span
-class=GramE>createOwnedAttribute(</span>name, type,</pre><pre style='margin-left:
-9.0pt'><span style='mso-tab-count:3'>                    </span><span
-class=GramE>lowerBound</span>, upperBound);</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>StringBuffer sb = new <span
-class=GramE>StringBuffer(</span>);</pre><pre style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre
+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_i1068"
+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
+class=GramE>(</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>sb.append(</span>&quot;Attribute '&quot;);</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>&quot;Attribute '&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>sb.append(</span>attribute.getQualifiedName());</pre><pre
+style='mso-tab-count:2'>            </span><span class=SpellE><span
+class=GramE>sb.append</span></span><span class=GramE>(</span><span
+class=SpellE>attribute.getQualifiedName</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><span
+class=GramE>sb.append</span></span><span class=GramE>(</span>&quot;' : &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>sb.append(</span>&quot;' : &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>sb.append(</span>type.getQualifiedName());</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>sb.append(</span>&quot; [&quot;);</pre><pre
+style='mso-tab-count:2'>            </span><span class=SpellE><span
+class=GramE>sb.append</span></span><span class=GramE>(</span><span
+class=SpellE>type.getQualifiedName</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><span
+class=GramE>sb.append</span></span><span class=GramE>(</span>&quot; [&quot;);</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>sb.append(</span>lowerBound);</pre><pre style='margin-left:9.0pt'><span
-style='mso-tab-count:2'>            </span><span class=GramE>sb.append(</span>&quot;..&quot;);</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span><span
+class=SpellE>lowerBound</span>);</pre><pre style='margin-left:9.0pt'><span
+style='mso-tab-count:2'>            </span><span class=SpellE><span
+class=GramE>sb.append</span></span><span class=GramE>(</span>&quot;..&quot;);</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>sb.append(</span>LiteralUnlimitedNatural.UNLIMITED == upperBound</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span><span
+class=SpellE>LiteralUnlimitedNatural.UNLIMITED</span> == <span class=SpellE>upperBound</span></pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>? &quot;*&quot;</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>: <span
-class=GramE>String.valueOf(</span>upperBound));</pre><pre style='margin-left:
-9.0pt'><span style='mso-tab-count:2'>            </span><span class=GramE>sb.append(</span>&quot;]&quot;);</pre><pre
+class=SpellE><span class=GramE>String.valueOf</span></span><span class=GramE>(</span><span
+class=SpellE>upperBound</span>));</pre><pre style='margin-left:9.0pt'><span
+style='mso-tab-count:2'>            </span><span class=SpellE><span
+class=GramE>sb.append</span></span><span class=GramE>(</span>&quot;]&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>sb.append(</span>&quot; created.&quot;);</pre><pre
+style='mso-tab-count:2'>            </span><span class=SpellE><span
+class=GramE>sb.append</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>out(</span>sb.toString());</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> attribute;</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span>}</pre>
+style='mso-tab-count:2'>            </span><span class=GramE>out(</span><span
+class=SpellE>sb.toString</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>return</span> attribute;</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 <code>createOwnedAttribute(String, Type, int, int)</code> convenience
-factory method <img border=0 width=24 height=13 id="_x0000_i1077"
+we call a <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_i1069"
 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,
-and set the lower and upper bounds of the attribute (the factory method indirectly
-creates a literal integer and literal unlimited natural, respectively, and sets
-their values to the specified integer values).</p>
+and set the lower and upper bounds of the attribute (the factory method
+indirectly creates a literal integer and literal unlimited natural,
+respectively, and sets their values to the specified integer values).</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
-style='mso-spacerun:yes'> </span>The <code>LiteralUnlimitedNatural.UNLIMITED</code>
+border=0 width=62 height=13 id="_x0000_i1070" 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; when setting this value in the <b style='mso-bidi-font-weight:normal'>Properties</b>
 view, an asterisk (‘*’) can alternatively be specified.</p>
@@ -1025,10 +1192,11 @@
 class ‘Supplier’ as follows:</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>createAttribute(</span>supplierClass, &quot;name&quot;, stringPrimitiveType, 0, 1);</pre>
+class=SpellE><span class=GramE>createAttribute</span></span><span class=GramE>(</span><span
+class=SpellE>supplierClass</span>, &quot;name&quot;, <span class=SpellE>stringPrimitiveType</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_i1079" 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
 remaining attributes from the ExtendedPO2 model.</p>
 
@@ -1036,14 +1204,14 @@
 Associations</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'>An
-association specifies a semantic relationship that can occur between two or more
-typed instances; its ends are represented by properties, each of which is
+association specifies a semantic relationship that can occur between two or
+more typed instances; its ends are represented by properties, each of which is
 connected to the type of the end. When a property is owned by an association it
 represents a non-navigable end of the association, in which case the type of
 the property is the type of the association end.</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
+border=0 width=62 height=13 id="_x0000_i1072" src="../../../../images/tip.gif"><span
 style='mso-spacerun:yes'> </span>The notion of association end navigability was
 separated from that of ownership in the UML™ 2.0 <span class=GramE>specification</span>,
 so a property that is owned by an association isn’t necessarily non-navigable
@@ -1056,20 +1224,20 @@
 Select a package (i.e. &lt;<b>Model&gt; epo2</b>) 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 Association</b>
+Right-click and select the <b>New Child &gt; Packaged Element &gt; Association</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 (e.g. “A_supplier_orders”) for the <b>Name</b> property in the <b>Properties</b>
-view.</p>
+Enter a value (e.g. “<span class=SpellE>A_orders_supplier</span>”) for the <b>Name</b>
+property in the <b>Properties</b> view.</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'>4)
-<span class=GramE>Select</span> the association (i.e. &lt;<b>Association&gt;
-A_supplier_orders</b>) in the UML editor.</p>
+<span class=GramE>Select</span> the association (i.e. &lt;<b>Association&gt; <span
+class=SpellE>A_orders_supplier</span></b>) 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'>5)
-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 End &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'>6)
 Select a value (i.e. <b>epo2::Supplier</b>) for the <b>Type</b> property in the
@@ -1080,15 +1248,15 @@
 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'>8)
-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'>9)
 Select a value (i.e. <b>Composite</b>) for the <b>Aggregation</b> property in
 the <b>Properties</b> view.</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'>10)
-Select a value (i.e. <b>epo2::A_supplier_orders</b>) for the <b>Association</b>
+Select a value (i.e. <b>epo2::A_orders_supplier</b>) for the <b>Association</b>
 property in the <b>Properties</b> view.</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'>11)
@@ -1108,7 +1276,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_i1081" 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 associations from the
 ExtendedPO2 model using the UML editor.</p>
 
@@ -1116,145 +1284,174 @@
 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_i1082" 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_i1082"><![endif]></p>
+ id="_x0000_i1096" type="#_x0000_t75" style='width:699pt;height:643.5pt'>
+ <v:imagedata src="article_files/image015.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=932 height=858
+src="article_files/image016.jpg" v:shapes="_x0000_i1096"><![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 an association between
 two specified types, with ends that have the specified upper bounds, lower
-bounds, role names, aggregation kinds, and navigabilities.</p>
+bounds, role names, aggregation kinds, and <span class=SpellE>navigabilities</span>.</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
-class=GramE>protected</span> static Association createAssociation(Type type1,</pre><pre
+class=GramE>protected</span> static Association <span class=SpellE>createAssociation</span>(Type type1,</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
-class=GramE>boolean</span> end1IsNavigable, AggregationKind end1Aggregation,</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
-style='mso-tab-count:2'>               </span>String end1Name, int end1LowerBound, int end1UpperBound,</pre><pre
+class=SpellE><span class=GramE>boolean</span></span> end1IsNavigable, <span
+class=SpellE>AggregationKind</span> end1Aggregation,</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>String end1Name, <span
+class=SpellE>int</span> end1LowerBound, <span class=SpellE>int</span> end1UpperBound,</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>Type type2, <span
-class=GramE>boolean</span> end2IsNavigable,</pre><pre style='margin-left:9.0pt'><span
-style='mso-tab-count:3'>                    </span>AggregationKind end2Aggregation, String end2Name,</pre><pre
+class=SpellE><span class=GramE>boolean</span></span> end2IsNavigable,</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
-class=GramE>int</span> end2LowerBound, int end2UpperBound) {</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_i1083" src="../../../../images/tag_1.gif"
-align=CENTER><span style='mso-tab-count:2'>         </span>Association association = <span
+class=SpellE>AggregationKind</span> end2Aggregation, String end2Name,</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
+class=SpellE><span class=GramE>int</span></span> end2LowerBound, <span
+class=SpellE>int</span> end2UpperBound) {</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_i1074"
+src="../../../../images/tag_1.gif" align=CENTER><span style='mso-tab-count:
+2'>         </span>Association <span class=SpellE>association</span> = <span
 class=GramE>type1.createAssociation(</span>end1IsNavigable,</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>end1Aggregation, end1Name, end1LowerBound, end1UpperBound, type2,</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>end2IsNavigable, end2Aggregation, end2Name, end2LowerBound,</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>end2UpperBound);</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>StringBuffer sb = new <span
-class=GramE>StringBuffer(</span>);</pre><pre style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre
+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
+class=GramE>(</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>sb.append(</span>&quot;Association &quot;);</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>&quot;Association &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>if</span> (null == end1Name || 0 == end1Name.length()) {</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
-class=GramE>sb.append(</span>'{');</pre><pre style='margin-left:9.0pt'><span
-style='mso-tab-count:3'>                    </span><span class=GramE>sb.append(</span>type1.getQualifiedName());</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>'{');</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
-class=GramE>sb.append(</span>'}');</pre><pre style='margin-left:9.0pt'><span
-style='mso-tab-count:2'>            </span>} else {</pre><pre style='margin-left:
-9.0pt'><span style='mso-tab-count:3'>                    </span><span
-class=GramE>sb.append(</span>&quot;'&quot;);</pre><pre style='margin-left:9.0pt'><span
-style='mso-tab-count:3'>                    </span><span class=GramE>sb.append(</span>type1.getQualifiedName());</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>type1.getQualifiedName());</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
-class=GramE>sb.append(</span>NamedElement.SEPARATOR);</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>'}');</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span>} else {</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
-class=GramE>sb.append(</span>end1Name);</pre><pre style='margin-left:9.0pt'><span
-style='mso-tab-count:3'>                    </span><span class=GramE>sb.append(</span>&quot;'&quot;);</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>&quot;'&quot;);</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>type1.getQualifiedName());</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span><span
+class=SpellE>NamedElement.SEPARATOR</span>);</pre><pre style='margin-left:9.0pt'><span
+style='mso-tab-count:3'>                    </span><span class=SpellE><span
+class=GramE>sb.append</span></span><span class=GramE>(</span>end1Name);</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>&quot;'&quot;);</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </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>sb.append(</span>&quot; [&quot;);</pre><pre
+style='mso-tab-count:2'>            </span><span class=SpellE><span
+class=GramE>sb.append</span></span><span class=GramE>(</span>&quot; [&quot;);</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>sb.append(</span>end1LowerBound);</pre><pre style='margin-left:
-9.0pt'><span style='mso-tab-count:2'>            </span><span class=GramE>sb.append(</span>&quot;..&quot;);</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>end1LowerBound);</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>sb.append(</span>LiteralUnlimitedNatural.UNLIMITED == end1UpperBound</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>&quot;..&quot;);</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span><span
+class=SpellE>LiteralUnlimitedNatural.UNLIMITED</span> == end1UpperBound</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>? &quot;*&quot;</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span><span
-style='mso-tab-count:2'>               </span>: <span class=GramE>String.valueOf(</span>end1UpperBound));</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>: <span
+class=SpellE><span class=GramE>String.valueOf</span></span><span class=GramE>(</span>end1UpperBound));</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>sb.append(</span>&quot;] &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>sb.append(</span>end2IsNavigable</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>&quot;] &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=SpellE><span
+class=GramE>sb.append</span></span><span class=GramE>(</span>end2IsNavigable</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>? '&lt;'</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>: '-');</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>sb.append(</span>'-');</pre><pre style='margin-left:9.0pt'><span
-style='mso-tab-count:2'>            </span><span class=GramE>sb.append(</span>end1IsNavigable</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>'-');</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>end1IsNavigable</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>? '&gt;'</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>: '-');</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>sb.append(</span>' ');</pre><pre style='margin-left:9.0pt'><o:p>&nbsp;</o:p></pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>' <span
+class=SpellE>'</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>if</span> (null == end2Name || 0 == end2Name.length()) {</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
-class=GramE>sb.append(</span>'{');</pre><pre style='margin-left:9.0pt'><span
-style='mso-tab-count:3'>                    </span><span class=GramE>sb.append(</span>type2.getQualifiedName());</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>'{');</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
-class=GramE>sb.append(</span>'}');</pre><pre style='margin-left:9.0pt'><span
-style='mso-tab-count:2'>            </span>} else {</pre><pre style='margin-left:
-9.0pt'><span style='mso-tab-count:3'>                    </span><span
-class=GramE>sb.append(</span>&quot;'&quot;);</pre><pre style='margin-left:9.0pt'><span
-style='mso-tab-count:3'>                    </span><span class=GramE>sb.append(</span>type2.getQualifiedName());</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>type2.getQualifiedName());</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
-class=GramE>sb.append(</span>NamedElement.SEPARATOR);</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>'}');</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span>} else {</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
-class=GramE>sb.append(</span>end2Name);</pre><pre style='margin-left:9.0pt'><span
-style='mso-tab-count:3'>                    </span><span class=GramE>sb.append(</span>&quot;'&quot;);</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>&quot;'&quot;);</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>type2.getQualifiedName());</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span><span
+class=SpellE>NamedElement.SEPARATOR</span>);</pre><pre style='margin-left:9.0pt'><span
+style='mso-tab-count:3'>                    </span><span class=SpellE><span
+class=GramE>sb.append</span></span><span class=GramE>(</span>end2Name);</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>&quot;'&quot;);</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </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>sb.append(</span>&quot; [&quot;);</pre><pre
+style='mso-tab-count:2'>            </span><span class=SpellE><span
+class=GramE>sb.append</span></span><span class=GramE>(</span>&quot; [&quot;);</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>sb.append(</span>end2LowerBound);</pre><pre style='margin-left:
-9.0pt'><span style='mso-tab-count:2'>            </span><span class=GramE>sb.append(</span>&quot;..&quot;);</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>end2LowerBound);</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>sb.append(</span>LiteralUnlimitedNatural.UNLIMITED == end2UpperBound</pre><pre
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>&quot;..&quot;);</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span><span
+class=SpellE>LiteralUnlimitedNatural.UNLIMITED</span> == end2UpperBound</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>? &quot;*&quot;</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>: <span
-class=GramE>String.valueOf(</span>end2UpperBound));</pre><pre style='margin-left:
-9.0pt'><span style='mso-tab-count:2'>            </span><span class=GramE>sb.append(</span>&quot;]&quot;);</pre><pre
+class=SpellE><span class=GramE>String.valueOf</span></span><span class=GramE>(</span>end2UpperBound));</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
+class=SpellE><span class=GramE>sb.append</span></span><span class=GramE>(</span>&quot;]&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>sb.append(</span>&quot; created.&quot;);</pre><pre
+style='mso-tab-count:2'>            </span><span class=SpellE><span
+class=GramE>sb.append</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>out(</span>sb.toString());</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> association;</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:1'>     </span>}</pre>
+style='mso-tab-count:2'>            </span><span class=GramE>out(</span><span
+class=SpellE>sb.toString</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>return</span> association;</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 first end type that creates an
 association (and its ends) between it and another type <img border=0 width=24
-height=13 id="_x0000_i1084" src="../../../../images/tag_1.gif" align=CENTER><span
+height=13 id="_x0000_i1075" 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
 package namespace) and with the specified upper bounds, lower bounds, role
-names, aggregation kinds, and navigabilities. The owners of the association
-ends (properties) are based on the specified navigabilities – navigable ends
-are owned by the end type if allowed, otherwise they are owned by the
-association; non-navigable ends are owned by the association.</p>
+names, aggregation kinds, and <span class=SpellE>navigabilities</span>. The
+owners of the association ends (properties) are based on the specified <span
+class=SpellE>navigabilities</span> – navigable ends are owned by the end type
+if allowed, otherwise they are owned by the association; non-navigable ends are
+owned by the association.</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_i1085" src="../../../../images/tip.gif"><span
-style='mso-spacerun:yes'> </span>The <code>NamedElement.SEPARATOR</code> constant
-represents the standard separator (<b>::</b>) used in qualified names.</p>
+border=0 width=62 height=13 id="_x0000_i1076" src="../../../../images/tip.gif"><span
+style='mso-spacerun:yes'> </span>The <span class=SpellE><code>NamedElement.SEPARATOR</code></span>
+constant represents the standard separator (<b>::</b>) used in qualified names.</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 unidirectional
-composition (composite association) between classes ‘Supplier’ and
-‘PurchaseOrder’ in model ‘epo2’ as follows:</p>
+composition (composite association) between classes ‘Supplier’ and ‘<span
+class=SpellE>PurchaseOrder</span>’ in model ‘epo2’ as follows:</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>createAssociation(</span>supplierClass, true,</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>AggregationKind.COMPOSITE_LITERAL, &quot;orders&quot;, 0,</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>LiteralUnlimitedNatural.UNLIMITED, purchaseOrderClass,</pre><pre
-style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>false, AggregationKind.NONE_LITERAL, &quot;&quot;, 1, 1);</pre>
+class=SpellE><span class=GramE>createAssociation</span></span><span
+class=GramE>(</span><span class=SpellE>supplierClass</span>, true,</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
+class=SpellE>AggregationKind.COMPOSITE_LITERAL</span>, &quot;orders&quot;, 0,</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span><span
+class=SpellE>LiteralUnlimitedNatural.UNLIMITED</span>, <span class=SpellE>purchaseOrderClass</span>,</pre><pre
+style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>false, <span
+class=SpellE>AggregationKind.NONE_LITERAL</span>, &quot;&quot;, 1, 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_i1086" src="../../../../images/tryit.gif"><span
+border=0 width=61 height=13 id="_x0000_i1077" src="../../../../images/tryit.gif"><span
 style='mso-spacerun:yes'> </span>Write code to programmatically create the
 remaining associations from the ExtendedPO2 model.</p>
 
@@ -1278,36 +1475,41 @@
 resource with a specified URI.</p>
 
 <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 uri) {</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>Resource resource = new <span
-class=GramE>ResourceSetImpl(</span>).createResource(uri);</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>resource.getContents(</span>).add(package_);</pre><pre
+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_i1078" src="../../../../images/tag_1.gif"
+align=CENTER><span style='mso-tab-count:2'>         </span>Resource <span
+class=SpellE>resource</span> = new <span class=SpellE><span class=GramE>ResourceSetImpl</span></span><span
+class=GramE>(</span>).<span class=SpellE>createResource</span>(<span
+class=SpellE>uri</span>);</pre><pre style='margin-left:9.0pt'><img border=0
+width=24 height=13 id="_x0000_i1079" 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_i1089"
-src="../../../../images/tag_3.gif" align=CENTER><span style='mso-tab-count:3'>                 </span><span
-class=GramE>resource.save(</span>null);</pre><pre style='margin-left:9.0pt'><span
+style='margin-left:9.0pt'><img border=0 width=24 height=13 id="_x0000_i1080"
+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 (IOException ioe) {</pre><pre
-style='margin-left:9.0pt'><img border=0 width=24 height=13 id="_x0000_i1090"
-src="../../../../images/tag_4.gif" align=CENTER><span style='mso-tab-count:3'>                 </span><span
-class=GramE>err(</span>ioe.getMessage());</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>
+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_i1081"
+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
+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 create a resource set <img border=0 width=24 height=13 id="_x0000_i1091"
+we create a resource set <img border=0 width=24 height=13 id="_x0000_i1082"
 src="../../../../images/tag_1.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>and a resource with the specified URI, add the
 package to the resource’s contents <img border=0 width=24 height=13
-id="_x0000_i1092" src="../../../../images/tag_2.gif" align=CENTER>, and ask the
-resource to save itself <img border=0 width=24 height=13 id="_x0000_i1093"
+id="_x0000_i1083" src="../../../../images/tag_2.gif" align=CENTER>, and ask the
+resource to save itself <img border=0 width=24 height=13 id="_x0000_i1084"
 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_i1094"
+occurs, we notify the user <img border=0 width=24 height=13 id="_x0000_i1085"
 src="../../../../images/tag_4.gif" align=CENTER><span
 style='mso-spacerun:yes'> </span>via our handy utility method.</p>
 
@@ -1317,16 +1519,19 @@
 argument) as follows:</p>
 
 <pre style='margin-left:9.0pt'><span style='mso-tab-count:2'>            </span><span
-class=GramE>save(</span>epo2Model, URI.createURI(args[0]).appendSegment(&quot;ExtendedPO2&quot;)</pre><pre
+class=GramE>save(</span>epo2Model, <span class=SpellE>URI.createURI</span>(<span
+class=SpellE>args</span>[0]).<span class=SpellE>appendSegment</span>(&quot;ExtendedPO2&quot;)</pre><pre
 style='margin-left:9.0pt'><span style='mso-tab-count:3'>                    </span>.<span
-class=GramE>appendFileExtension(</span>UMLResource.FILE_EXTENSION));</pre>
+class=SpellE><span class=GramE>appendFileExtension</span></span><span
+class=GramE>(</span><span class=SpellE>UMLResource.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_i1095" src="../../../../images/tip.gif"><span
-style='mso-spacerun:yes'> </span>The <code>UMLResource.FILE_EXTENSION</code>
-constant represents the file extension for UML resources (<code>.uml</code>).
-Note that the <code>UMLResource</code> interface contains a number of constants
-that you will find useful when working with UML resources.</p>
+border=0 width=62 height=13 id="_x0000_i1086" src="../../../../images/tip.gif"><span
+style='mso-spacerun:yes'> </span>The <span class=SpellE><code>UMLResource.FILE_EXTENSION</code></span>
+constant represents the file extension for UML resources (<code>.<span
+class=SpellE>uml</span></code>). Note that the <span class=SpellE><code>UMLResource</code></span>
+interface contains a number of constants that you will find useful when working
+with UML resources.</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'>Conclusion</h2>
 
@@ -1337,15 +1542,17 @@
 Stay tuned for more articles on how to develop tools with 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>
 
 <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'><span
-class=GramE>[1] F. Budinsky, D. Steinberg, E. Merks, R. Ellersick, and T. J.
-Grose.</span> <i style='mso-bidi-font-style:normal'>Eclipse Modeling Framework</i>.
-Pearson Education, Inc., Boston, MA, 2003.</p>
+class=GramE>[1] F. <span class=SpellE>Budinsky</span>, D. Steinberg, E. <span
+class=SpellE>Merks</span>, R. <span class=SpellE>Ellersick</span>, and T. J. <span
+class=SpellE>Grose</span>.</span> <i style='mso-bidi-font-style:normal'>Eclipse
+Modeling Framework</i>. Pearson Education, Inc., Boston, MA, 2003.</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'>Source
 Code</h2>
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/filelist.xml b/docs/articles/Getting_Started_with_UML2/article_files/filelist.xml
index 7dbd4da..4ae358d 100644
--- a/docs/articles/Getting_Started_with_UML2/article_files/filelist.xml
+++ b/docs/articles/Getting_Started_with_UML2/article_files/filelist.xml
@@ -1,7 +1,13 @@
 <xml xmlns:o="urn:schemas-microsoft-com:office:office">
  <o:MainFile HRef="../article.html"/>
- <o:File HRef="image001.emz"/>
+ <o:File HRef="image001.png"/>
+ <o:File HRef="image022.jpg"/>
+ <o:File HRef="image021.emz"/>
  <o:File HRef="image002.gif"/>
+ <o:File HRef="image023.png"/>
+ <o:File HRef="image024.jpg"/>
+ <o:File HRef="image025.png"/>
+ <o:File HRef="image026.jpg"/>
  <o:File HRef="image003.png"/>
  <o:File HRef="image004.jpg"/>
  <o:File HRef="image005.png"/>
@@ -16,9 +22,5 @@
  <o:File HRef="image014.jpg"/>
  <o:File HRef="image015.png"/>
  <o:File HRef="image016.jpg"/>
- <o:File HRef="image017.png"/>
- <o:File HRef="image018.jpg"/>
- <o:File HRef="image019.png"/>
- <o:File HRef="image020.jpg"/>
  <o:File HRef="filelist.xml"/>
 </xml>
\ No newline at end of file
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image001.png b/docs/articles/Getting_Started_with_UML2/article_files/image001.png
new file mode 100644
index 0000000..0b3545b
--- /dev/null
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image001.png
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image003.png b/docs/articles/Getting_Started_with_UML2/article_files/image003.png
index d98857d..300200c 100644
--- a/docs/articles/Getting_Started_with_UML2/article_files/image003.png
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image003.png
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image004.jpg b/docs/articles/Getting_Started_with_UML2/article_files/image004.jpg
index 5dfccca..896b235 100644
--- a/docs/articles/Getting_Started_with_UML2/article_files/image004.jpg
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image004.jpg
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image005.png b/docs/articles/Getting_Started_with_UML2/article_files/image005.png
index e32b650..33de634 100644
--- a/docs/articles/Getting_Started_with_UML2/article_files/image005.png
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image005.png
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image006.jpg b/docs/articles/Getting_Started_with_UML2/article_files/image006.jpg
index 97a923f..7849c8f 100644
--- a/docs/articles/Getting_Started_with_UML2/article_files/image006.jpg
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image006.jpg
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image007.png b/docs/articles/Getting_Started_with_UML2/article_files/image007.png
index aafd7f1..6bcc4a6 100644
--- a/docs/articles/Getting_Started_with_UML2/article_files/image007.png
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image007.png
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image008.jpg b/docs/articles/Getting_Started_with_UML2/article_files/image008.jpg
index b3133af..f53051b 100644
--- a/docs/articles/Getting_Started_with_UML2/article_files/image008.jpg
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image008.jpg
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image009.png b/docs/articles/Getting_Started_with_UML2/article_files/image009.png
index 1a78b83..412c9e8 100644
--- a/docs/articles/Getting_Started_with_UML2/article_files/image009.png
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image009.png
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image010.jpg b/docs/articles/Getting_Started_with_UML2/article_files/image010.jpg
index 2d146d0..362743c 100644
--- a/docs/articles/Getting_Started_with_UML2/article_files/image010.jpg
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image010.jpg
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image011.png b/docs/articles/Getting_Started_with_UML2/article_files/image011.png
index 7a3e8b7..358bad7 100644
--- a/docs/articles/Getting_Started_with_UML2/article_files/image011.png
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image011.png
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image012.jpg b/docs/articles/Getting_Started_with_UML2/article_files/image012.jpg
index 363777b..4c28e00 100644
--- a/docs/articles/Getting_Started_with_UML2/article_files/image012.jpg
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image012.jpg
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image013.png b/docs/articles/Getting_Started_with_UML2/article_files/image013.png
index 348963f..d180a97 100644
--- a/docs/articles/Getting_Started_with_UML2/article_files/image013.png
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image013.png
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image014.jpg b/docs/articles/Getting_Started_with_UML2/article_files/image014.jpg
index 0be2e0d..896f777 100644
--- a/docs/articles/Getting_Started_with_UML2/article_files/image014.jpg
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image014.jpg
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image015.png b/docs/articles/Getting_Started_with_UML2/article_files/image015.png
index 98a77d8..45d29bb 100644
--- a/docs/articles/Getting_Started_with_UML2/article_files/image015.png
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image015.png
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image016.jpg b/docs/articles/Getting_Started_with_UML2/article_files/image016.jpg
index dc5def5..20ed973 100644
--- a/docs/articles/Getting_Started_with_UML2/article_files/image016.jpg
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image016.jpg
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image017.png b/docs/articles/Getting_Started_with_UML2/article_files/image017.png
deleted file mode 100644
index 038cc17..0000000
--- a/docs/articles/Getting_Started_with_UML2/article_files/image017.png
+++ /dev/null
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image018.jpg b/docs/articles/Getting_Started_with_UML2/article_files/image018.jpg
deleted file mode 100644
index 9632fb3..0000000
--- a/docs/articles/Getting_Started_with_UML2/article_files/image018.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image019.png b/docs/articles/Getting_Started_with_UML2/article_files/image019.png
deleted file mode 100644
index c52edff..0000000
--- a/docs/articles/Getting_Started_with_UML2/article_files/image019.png
+++ /dev/null
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image020.jpg b/docs/articles/Getting_Started_with_UML2/article_files/image020.jpg
deleted file mode 100644
index 83fa7c1..0000000
--- a/docs/articles/Getting_Started_with_UML2/article_files/image020.jpg
+++ /dev/null
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image001.emz b/docs/articles/Getting_Started_with_UML2/article_files/image021.emz
similarity index 100%
rename from docs/articles/Getting_Started_with_UML2/article_files/image001.emz
rename to docs/articles/Getting_Started_with_UML2/article_files/image021.emz
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image022.jpg b/docs/articles/Getting_Started_with_UML2/article_files/image022.jpg
new file mode 100644
index 0000000..6a6b7c5
--- /dev/null
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image022.jpg
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image023.png b/docs/articles/Getting_Started_with_UML2/article_files/image023.png
new file mode 100644
index 0000000..79f3757
--- /dev/null
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image023.png
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image024.jpg b/docs/articles/Getting_Started_with_UML2/article_files/image024.jpg
new file mode 100644
index 0000000..327adba
--- /dev/null
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image024.jpg
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image025.png b/docs/articles/Getting_Started_with_UML2/article_files/image025.png
new file mode 100644
index 0000000..997e89e
--- /dev/null
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image025.png
Binary files differ
diff --git a/docs/articles/Getting_Started_with_UML2/article_files/image026.jpg b/docs/articles/Getting_Started_with_UML2/article_files/image026.jpg
new file mode 100644
index 0000000..37b9d32
--- /dev/null
+++ b/docs/articles/Getting_Started_with_UML2/article_files/image026.jpg
Binary files differ