Introduce the TutorialCollapseDummyFeature
diff --git a/examples/org.eclipse.graphiti.doc/resources/docu/gfw/context-buttons.htm b/examples/org.eclipse.graphiti.doc/resources/docu/gfw/context-buttons.htm
index 429b053..876895e 100644
--- a/examples/org.eclipse.graphiti.doc/resources/docu/gfw/context-buttons.htm
+++ b/examples/org.eclipse.graphiti.doc/resources/docu/gfw/context-buttons.htm
@@ -27,7 +27,7 @@
 	font-size:12.0pt;
 	font-family:"Times New Roman","serif";}
 h1
-	{mso-style-link:"Heading 1 Char";
+	{mso-style-link:"Überschrift 1 Zchn";
 	margin-top:12.0pt;
 	margin-right:0cm;
 	margin-bottom:3.0pt;
@@ -37,7 +37,7 @@
 	font-family:"Times New Roman","serif";
 	font-weight:bold;}
 h2
-	{mso-style-link:"Heading 2 Char";
+	{mso-style-link:"Überschrift 2 Zchn";
 	margin-top:12.0pt;
 	margin-right:0cm;
 	margin-bottom:3.0pt;
@@ -48,7 +48,7 @@
 	font-weight:bold;
 	font-style:italic;}
 h3
-	{mso-style-link:"Heading 3 Char";
+	{mso-style-link:"Überschrift 3 Zchn";
 	margin-top:12.0pt;
 	margin-right:0cm;
 	margin-bottom:3.0pt;
@@ -58,7 +58,7 @@
 	font-family:"Times New Roman","serif";
 	font-weight:bold;}
 h4
-	{mso-style-link:"Heading 4 Char";
+	{mso-style-link:"Überschrift 4 Zchn";
 	margin-top:11.25pt;
 	margin-right:0cm;
 	margin-bottom:1.7pt;
@@ -68,14 +68,14 @@
 	font-weight:bold;
 	font-style:italic;}
 h5
-	{mso-style-link:"Heading 5 Char";
+	{mso-style-link:"Überschrift 5 Zchn";
 	margin-right:0cm;
 	margin-left:0cm;
 	font-size:10.0pt;
 	font-family:"Times New Roman","serif";
 	font-weight:bold;}
 h6
-	{mso-style-link:"Heading 6 Char";
+	{mso-style-link:"Überschrift 6 Zchn";
 	margin-right:0cm;
 	margin-left:0cm;
 	font-size:7.5pt;
@@ -96,6 +96,12 @@
 a:visited, span.MsoHyperlinkFollowed
 	{color:purple;
 	text-decoration:underline;}
+p.MsoDocumentMap, li.MsoDocumentMap, div.MsoDocumentMap
+	{mso-style-link:"Dokumentstruktur Zchn";
+	margin:0cm;
+	margin-bottom:.0001pt;
+	font-size:8.0pt;
+	font-family:"Tahoma","sans-serif";}
 p
 	{margin-top:5.65pt;
 	margin-right:0cm;
@@ -104,7 +110,7 @@
 	font-size:12.0pt;
 	font-family:"Times New Roman","serif";}
 pre
-	{mso-style-link:"HTML Preformatted Char";
+	{mso-style-link:"HTML Vorformatiert Zchn";
 	margin-top:0cm;
 	margin-right:0cm;
 	margin-bottom:0cm;
@@ -113,54 +119,54 @@
 	font-size:11.0pt;
 	font-family:"Courier New";}
 p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
-	{mso-style-link:"Balloon Text Char";
+	{mso-style-link:"Sprechblasentext Zchn";
 	margin:0cm;
 	margin-bottom:.0001pt;
 	font-size:8.0pt;
 	font-family:"Tahoma","sans-serif";}
-span.Heading1Char
-	{mso-style-name:"Heading 1 Char";
-	mso-style-link:"Heading 1";
+span.berschrift1Zchn
+	{mso-style-name:"Überschrift 1 Zchn";
+	mso-style-link:"Überschrift 1";
 	font-family:"Cambria","serif";
 	color:#365F91;
 	font-weight:bold;}
-span.Heading2Char
-	{mso-style-name:"Heading 2 Char";
-	mso-style-link:"Heading 2";
+span.berschrift2Zchn
+	{mso-style-name:"Überschrift 2 Zchn";
+	mso-style-link:"Überschrift 2";
 	font-family:"Cambria","serif";
 	color:#4F81BD;
 	font-weight:bold;}
-span.Heading3Char
-	{mso-style-name:"Heading 3 Char";
-	mso-style-link:"Heading 3";
+span.berschrift3Zchn
+	{mso-style-name:"Überschrift 3 Zchn";
+	mso-style-link:"Überschrift 3";
 	font-family:"Cambria","serif";
 	color:#4F81BD;
 	font-weight:bold;}
-span.Heading4Char
-	{mso-style-name:"Heading 4 Char";
-	mso-style-link:"Heading 4";
+span.berschrift4Zchn
+	{mso-style-name:"Überschrift 4 Zchn";
+	mso-style-link:"Überschrift 4";
 	font-family:"Cambria","serif";
 	color:#4F81BD;
 	font-weight:bold;
 	font-style:italic;}
-span.Heading5Char
-	{mso-style-name:"Heading 5 Char";
-	mso-style-link:"Heading 5";
+span.berschrift5Zchn
+	{mso-style-name:"Überschrift 5 Zchn";
+	mso-style-link:"Überschrift 5";
 	font-family:"Cambria","serif";
 	color:#243F60;}
-span.Heading6Char
-	{mso-style-name:"Heading 6 Char";
-	mso-style-link:"Heading 6";
+span.berschrift6Zchn
+	{mso-style-name:"Überschrift 6 Zchn";
+	mso-style-link:"Überschrift 6";
 	font-family:"Cambria","serif";
 	color:#243F60;
 	font-style:italic;}
-span.HTMLPreformattedChar
-	{mso-style-name:"HTML Preformatted Char";
-	mso-style-link:"HTML Preformatted";
+span.HTMLVorformatiertZchn
+	{mso-style-name:"HTML Vorformatiert Zchn";
+	mso-style-link:"HTML Vorformatiert";
 	font-family:Consolas;}
-span.BalloonTextChar
-	{mso-style-name:"Balloon Text Char";
-	mso-style-link:"Balloon Text";
+span.SprechblasentextZchn
+	{mso-style-name:"Sprechblasentext Zchn";
+	mso-style-link:Sprechblasentext;
 	font-family:"Tahoma","sans-serif";}
 p.code, li.code, div.code
 	{mso-style-name:code;
@@ -197,6 +203,106 @@
 	font-size:12.0pt;
 	font-family:"Times New Roman","serif";
 	font-weight:bold;}
+p.Heading1, li.Heading1, div.Heading1
+	{mso-style-name:"Heading 1";
+	mso-style-link:"Heading 1 Char";
+	margin:0cm;
+	margin-bottom:.0001pt;
+	font-size:12.0pt;
+	font-family:"Times New Roman","serif";}
+span.Heading1Char
+	{mso-style-name:"Heading 1 Char";
+	mso-style-link:"Heading 1";
+	font-family:"Cambria","serif";
+	color:#365F91;
+	font-weight:bold;}
+p.Heading2, li.Heading2, div.Heading2
+	{mso-style-name:"Heading 2";
+	mso-style-link:"Heading 2 Char";
+	margin:0cm;
+	margin-bottom:.0001pt;
+	font-size:12.0pt;
+	font-family:"Times New Roman","serif";}
+span.Heading2Char
+	{mso-style-name:"Heading 2 Char";
+	mso-style-link:"Heading 2";
+	font-family:"Cambria","serif";
+	color:#4F81BD;
+	font-weight:bold;}
+p.Heading3, li.Heading3, div.Heading3
+	{mso-style-name:"Heading 3";
+	mso-style-link:"Heading 3 Char";
+	margin:0cm;
+	margin-bottom:.0001pt;
+	font-size:12.0pt;
+	font-family:"Times New Roman","serif";}
+span.Heading3Char
+	{mso-style-name:"Heading 3 Char";
+	mso-style-link:"Heading 3";
+	font-family:"Cambria","serif";
+	color:#4F81BD;
+	font-weight:bold;}
+p.Heading4, li.Heading4, div.Heading4
+	{mso-style-name:"Heading 4";
+	mso-style-link:"Heading 4 Char";
+	margin:0cm;
+	margin-bottom:.0001pt;
+	font-size:12.0pt;
+	font-family:"Times New Roman","serif";}
+span.Heading4Char
+	{mso-style-name:"Heading 4 Char";
+	mso-style-link:"Heading 4";
+	font-family:"Cambria","serif";
+	color:#4F81BD;
+	font-weight:bold;
+	font-style:italic;}
+p.Heading5, li.Heading5, div.Heading5
+	{mso-style-name:"Heading 5";
+	mso-style-link:"Heading 5 Char";
+	margin:0cm;
+	margin-bottom:.0001pt;
+	font-size:12.0pt;
+	font-family:"Times New Roman","serif";}
+span.Heading5Char
+	{mso-style-name:"Heading 5 Char";
+	mso-style-link:"Heading 5";
+	font-family:"Cambria","serif";
+	color:#243F60;}
+p.Heading6, li.Heading6, div.Heading6
+	{mso-style-name:"Heading 6";
+	mso-style-link:"Heading 6 Char";
+	margin:0cm;
+	margin-bottom:.0001pt;
+	font-size:12.0pt;
+	font-family:"Times New Roman","serif";}
+span.Heading6Char
+	{mso-style-name:"Heading 6 Char";
+	mso-style-link:"Heading 6";
+	font-family:"Cambria","serif";
+	color:#243F60;
+	font-style:italic;}
+p.HTMLPreformatted, li.HTMLPreformatted, div.HTMLPreformatted
+	{mso-style-name:"HTML Preformatted";
+	mso-style-link:"HTML Preformatted Char";
+	margin:0cm;
+	margin-bottom:.0001pt;
+	font-size:12.0pt;
+	font-family:"Times New Roman","serif";}
+span.HTMLPreformattedChar
+	{mso-style-name:"HTML Preformatted Char";
+	mso-style-link:"HTML Preformatted";
+	font-family:Consolas;}
+p.BalloonText, li.BalloonText, div.BalloonText
+	{mso-style-name:"Balloon Text";
+	mso-style-link:"Balloon Text Char";
+	margin:0cm;
+	margin-bottom:.0001pt;
+	font-size:12.0pt;
+	font-family:"Times New Roman","serif";}
+span.BalloonTextChar
+	{mso-style-name:"Balloon Text Char";
+	mso-style-link:"Balloon Text";
+	font-family:"Tahoma","sans-serif";}
 span.heading1char0
 	{mso-style-name:heading1char;
 	font-family:"Cambria","serif";
@@ -242,13 +348,17 @@
 span.code2
 	{mso-style-name:code2;
 	font-style:italic;}
+span.DokumentstrukturZchn
+	{mso-style-name:"Dokumentstruktur Zchn";
+	mso-style-link:Dokumentstruktur;
+	font-family:"Tahoma","sans-serif";}
 .MsoChpDefault
 	{font-size:10.0pt;}
-@page Section1
+@page WordSection1
 	{size:595.45pt 841.7pt;
 	margin:72.0pt 89.85pt 72.0pt 89.85pt;}
-div.Section1
-	{page:Section1;}
+div.WordSection1
+	{page:WordSection1;}
  /* List Definitions */
  ol
 	{margin-bottom:0cm;}
@@ -261,11 +371,10 @@
 
 <body bgcolor=white lang=DE link=blue vlink=purple style='margin-bottom:12.0pt'>
 
-<div class=Section1>
+<div class=WordSection1>
 
-<h1><a name="_Toc179099521"><span lang=EN-GB>Providing </span></a>
-<span lang="en-gb">C</span><span
-lang=EN-GB>ontext Buttons</span></h1>
+<h1><a name="_Toc179099521"><span lang=EN-GB>Providing </span></a><span
+lang=EN-GB>Context Buttons</span></h1>
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;</span></p>
 
@@ -274,9 +383,9 @@
 element in the diagram.</span></p>
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>They are shown along
-the borders of a pictogram element when the mouse is positioned on that
-pictogram element. They are hidden again when the mouse is positioned outside
-the area built by the pictogram element and the context buttons.</span></p>
+the borders of a pictogram element when the mouse is positioned on that pictogram
+element. They are hidden again when the mouse is positioned outside the area
+built by the pictogram element and the context buttons.</span></p>
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>Context buttons can
 provide the same functionality as a <a href="context-menu.htm">context menu</a>,
@@ -309,8 +418,8 @@
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;</span></p>
 
-<p class=MsoNormal><span lang=EN-GB style='color:black'>There are different groups
-of context buttons:</span></p>
+<p class=MsoNormal><span lang=EN-GB style='color:black'>There are different
+groups of context buttons:</span></p>
 
 <ul style='margin-top:0cm' type=disc>
  <li class=MsoNormal style='color:black'><span lang=EN-GB>Generic context
@@ -333,9 +442,9 @@
 <p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;</span></p>
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>The following
-restrictions are defined by usibility engineers of SAP AG  (but currently not checked technically): there
-can be 0-3 generic context buttons, 0-5 domain specific context buttons and 0-1
-collapse context button.</span></p>
+restrictions are defined by usability engineers of SAP AG (but currently not
+checked technically): there can be 0-3 generic context buttons, 0-5 domain
+specific context buttons and 0-1 collapse context button.</span></p>
 
 <p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>
 
@@ -344,15 +453,15 @@
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>Each context button can
 have one click-feature, which is executed when clicking the context-button,
-and/or several drag&amp;drop features, which are executed when the user starts
-dragging a connection from the context button. If several drag&amp;drop
+and/or several drag &amp; drop features, which are executed when the user
+starts dragging a connection from the context button. If several drag &amp; drop
 features are available, a context-menu will be offered to the user when he
 drops the connection, and he can choose the feature to execute.</span></p>
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>In this example we want
 to create one context button, which offers all available <a
-href="create-connection-feature.htm">create connection features</a> as
-drag&amp;drop features, but has no click-feature. </span></p>
+href="create-connection-feature.htm">create connection features</a> as drag &amp;
+drop features, but has no click-feature. </span></p>
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;</span></p>
 
@@ -371,15 +480,15 @@
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;</span></p>
 
-<p class=MsoNormal><span lang=EN-GB style='color:black'>You can see the
-complete implementation of the context button here:</span></p>
+<p class=MsoNormal><span lang=EN-GB style='color:black'>You can see the complete
+implementation of the context button here:</span></p>
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;&nbsp;</span></p>
 
-<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=851
+<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=680
  style='width:18.0cm;border-collapse:collapse'>
  <tr>
-  <td width=851 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
+  <td width=680 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
   padding:0cm 5.4pt 0cm 5.4pt'>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
   style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></p>
@@ -391,7 +500,8 @@
   style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
   </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
   color:#7F0055'>public</span></b><span lang=EN-US style='font-size:10.0pt;
-  font-family:"Courier New";color:black'> IContextButtonPadData getContextButtonPad(</span></p>
+  font-family:"Courier New";color:black'> IContextButtonPadData
+  getContextButtonPad(</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
   style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   IPictogramElementContext context) {</span></p>
@@ -433,7 +543,7 @@
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
   style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   </span><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
-  color:#3F7F5F'>// simply use the first custom feature (senseless example)</span></p>
+  color:#3F7F5F'>// simply use a dummy custom feature (senseless example)</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
   style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   CustomContext cc = </span><b><span lang=EN-US style='font-size:10.0pt;
@@ -446,31 +556,46 @@
   style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   ICustomFeature[] cf = getFeatureProvider().getCustomFeatures(cc);</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-  </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
-  color:#7F0055'>if</span></b><span lang=EN-US style='font-size:10.0pt;
-  font-family:"Courier New";color:black'> (cf.</span><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:#0000C0'>length</span><span
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>for</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> (</span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>int</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> i
+  = 0; i &lt; cf.</span><span lang=EN-US style='font-size:10.0pt;font-family:
+  "Courier New";color:#0000C0'>length</span><span lang=EN-US style='font-size:
+  10.0pt;font-family:"Courier New";color:black'>; i++) {</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>            ICustomFeature
+  iCustomFeature = cf[i];</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>            </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>if</span></b><span
   lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
-  &gt;= 1) {</span></p>
+  (iCustomFeature </span><b><span lang=EN-US style='font-size:10.0pt;
+  font-family:"Courier New";color:#7F0055'>instanceof</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  TutorialCollapseDummyFeature) {</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-  IContextButtonEntry collapseButton = ContextEntryHelper</span></p>
-  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.<i>createCollapseContextButton</i>(</span><b><span
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>               
+  IContextButtonEntry collapseButton = ContextEntryHelper.<br>
+                     <i>createCollapseContextButton</i>(</span><b><span
   lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>true</span></b><span
   lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>,
-  cf[0], cc);</span></p>
+  iCustomFeature, cc);</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>               
   data.setCollapseContextButton(collapseButton);</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-  &nbsp;&nbsp;&nbsp; }</span></p>
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>               
+  </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+  color:#7F0055'>break</span></b><span lang=EN-US style='font-size:10.0pt;
+  font-family:"Courier New";color:black'>;</span><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New"'><br>
+                 <span style='color:black'>}</span></span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-  </span></p>
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>        }</span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'><br>
+           </span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
   style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   </span><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
@@ -517,8 +642,8 @@
   color:#7F0055'>else</span></b><span lang=EN-US style='font-size:10.0pt;
   font-family:"Courier New";color:black'> </span><b><span lang=EN-US
   style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>if</span></b><span
-  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
-  (pe </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> (pe
+  </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
   color:#7F0055'>instanceof</span></b><span lang=EN-US style='font-size:10.0pt;
   font-family:"Courier New";color:black'> AnchorContainer) {</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
@@ -529,7 +654,8 @@
   style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   </span><span lang=FR style='font-size:10.0pt;font-family:"Courier New";
   color:black'>anchor = Graphiti.getPeService()<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .<i>getChopboxAnchor</i>((AnchorContainer) pe);</span></p>
+  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+  .<i>getChopboxAnchor</i>((AnchorContainer) pe);</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=FR
   style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   </span><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
@@ -591,7 +717,8 @@
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
   style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   </span><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
-  color:#3F7F5F'>// 3.c. add context button, if it contains at least one feature</span></p>
+  color:#3F7F5F'>// 3.c. add context button, if it contains at least one
+  feature</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
   style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
@@ -622,10 +749,12 @@
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;</span></p>
 
-<p class=MsoNormal><span lang=EN-GB style='color:black'>The implementation of <i>
-MyTutorialImageProvider</i> can be found <a href="images.htm">here</a>.&nbsp;</span></p>
+<p class=MsoNormal><span lang=EN-GB style='color:black'>The implementation of <i>MyTutorialImageProvider</i>
+can be found <a href="images.htm">here</a>.&nbsp;The implementation of the <i>TutorialCollapseDummyFeature</i>
+can be found at <a href="#_Implementation_of_the">the end of this page</a>.</span></p>
 
-<p class=MsoNormal>&nbsp;</p>
+<p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>
+
 <p class=MsoNormal><span lang=EN-US>The context button entries contain
 information about icon, display text and tooltip description.</span></p>
 
@@ -667,29 +796,301 @@
 </ol>
 
 <ol style='margin-top:0cm' start=1 type=1>
-  <li class=MsoNormal style='color:black;text-align:justify'><span lang=EN-GB>If
-      only one create connection feature for the EClass exists, then the
-      association will be created immediately.</span></li>
-  <li class=MsoNormal style='color:black;text-align:justify'><span lang=EN-GB>If
-      several create connection features for the EClass exist, then a context-menu
-      will be shown to the user, where he can choose the feature to execute.
-      Tip: if you have only one create connection feature you can try this
-      behaviour by simply duplicating the line </span><span lang=EN-GB
-      style='font-size:10.0pt;font-family:"Courier New"'>”button.addDragAndDropFeature(feature);”</span><span
-      lang=EN-GB>.</span></li>
+ <li class=MsoNormal style='color:black;text-align:justify'><span lang=EN-GB>If
+     only one create connection feature for the EClass exists, then the
+     association will be created immediately.</span></li>
+ <li class=MsoNormal style='color:black;text-align:justify'><span lang=EN-GB>If
+     several create connection features for the EClass exist, then a
+     context-menu will be shown to the user, where he can choose the feature to
+     execute. Tip: if you have only one create connection feature you can try
+     this behaviour by simply duplicating the line </span><span lang=EN-GB
+     style='font-size:10.0pt;font-family:"Courier New"'>”button.addDragAndDropFeature(feature);”</span><span
+     lang=EN-GB>.</span></li>
 </ol>
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;</span></p>
 
-<p class=MsoNormal><span lang=EN-GB style='color:black'>Note, that our implementation
-of the create connection feature does not allow a connection, if the source and
-target business object are identical. If you have two different shapes
-associated with the same business object (e.g. via copy &amp; paste), then
-creating a connection between them is not possible.</span></p>
+<p class=MsoNormal><span lang=EN-GB style='color:black'>Note, that our
+implementation of the create connection feature does not allow a connection, if
+the source and target business object are identical. If you have two different
+shapes associated with the same business object (e.g. via copy &amp; paste),
+then creating a connection between them is not possible.</span></p>
+
+<p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;</span></p>
+
+<h2><a name="_Implementation_of_the"></a><span lang=EN-GB>Implementation of the
+TutorialCollapseDummyFeature</span></h2>
+
+<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=680
+ style='width:18.0cm;border-collapse:collapse'>
+ <tr>
+  <td width=680 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
+  padding:0cm 5.4pt 0cm 5.4pt'>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;<span
+  style='color:black'>        </span></span></p>
+  <p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
+  "Courier New";color:#7F0055'>package</span></b><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  org.eclipse.graphiti.examples.tutorial.features;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><b><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>&nbsp;</span></b></p>
+  <p class=MsoNormal style='text-autospace:none'><b><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>class</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  TutorialCollapseDummyFeature </span><b><span lang=EN-US style='font-size:
+  10.0pt;font-family:"Courier New";color:#7F0055'>extends</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  AbstractCustomFeature {</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  TutorialCollapseDummyFeature(IFeatureProvider fp) {</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>            </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>super</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>(fp);</span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'><br>
+        <span style='color:black'>}</span></span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#646464'>@Override</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>boolean</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> canExecute(ICustomContext
+  context) {</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>            </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>boolean</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  ret = </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+  color:#7F0055'>false</span></b><span lang=EN-US style='font-size:10.0pt;
+  font-family:"Courier New";color:black'>;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>            PictogramElement[]
+  pes = context.getPictogramElements();</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>            </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>if</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  (pes != </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+  color:#7F0055'>null</span></b><span lang=EN-US style='font-size:10.0pt;
+  font-family:"Courier New";color:black'> &amp;&amp; pes.</span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#0000C0'>length</span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> ==
+  1) {</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>                 
+  Object bo = getBusinessObjectForPictogramElement(pes[0]);</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>                 
+  </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+  color:#7F0055'>if</span></b><span lang=EN-US style='font-size:10.0pt;
+  font-family:"Courier New";color:black'> (bo </span><b><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>instanceof</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  EClass) {</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>                     
+  ret = </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+  color:#7F0055'>true</span></b><span lang=EN-US style='font-size:10.0pt;
+  font-family:"Courier New";color:black'>;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>                 
+  }</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>            }</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>            </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>return</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  ret;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      }</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#646464'>@Override</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  String getName() {</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>            </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>return</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#2A00FF'>&quot;Collapse&quot;</span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      }</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#646464'>@Override</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  String getDescription() {</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>            </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>return</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#2A00FF'>&quot;Collapse
+  Figure&quot;</span><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+  color:black'>;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      }</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#646464'>@Override</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  String getImageId() {</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>            </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>return</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  IPlatformImageConstants.</span><i><span lang=EN-US style='font-size:10.0pt;
+  font-family:"Courier New";color:#0000C0'>IMG_EDIT_COLLAPSE</span></i><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      }</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#646464'>@Override</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>boolean</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  isAvailable(IContext context) {</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>            </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>return</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>true</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      }</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#646464'>@Override</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>void</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  execute(ICustomContext context) {</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>            MessageDialog.openInformation(PlatformUI.<i>getWorkbench</i>()<br>
+                .getActiveWorkbenchWindow().getShell(), </span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#2A00FF'>&quot;Information&quot;</span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>,</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>            </span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#2A00FF'>&quot;The
+  'Collapse Feature' is intentionally not implemented yet.&quot;</span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>);</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><span
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>}</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
+  font-family:"Courier New";color:black'>}</span><span style='font-size:10.0pt;
+  font-family:"Courier New";color:black'>&nbsp;</span></p>
+  </td>
+ </tr>
+</table>
+
+<p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;</span></p>
+
+<p class=MsoNormal><span lang=EN-GB style='color:black'>Finally the feature provider
+has to deliver our newly created custom feature (overwrite the method </span><span
+class=code1><span lang=EN-US style='color:black'><a
+href="../../../javadoc/org/eclipse/graphiti/features/IFeatureProvider.html#getCustomFeatures(org.eclipse.graphiti.features.context.ICustomContext)"><span
+style='font-style:normal'>getCustomFeatures</span></a></span></span><span
+class=code1><span lang=EN-US style='color:black;font-style:normal'>)</span></span><i><span
+lang=EN-GB style='color:black'>. </span></i></p>
+
+<p class=MsoNormal><span lang=EN-GB style='color:black'>This implementation can
+be seen here:</span></p>
+
+<p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;</span></p>
+
+<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=680
+ style='width:18.0cm;border-collapse:collapse'>
+ <tr>
+  <td width=680 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
+  padding:0cm 5.4pt 0cm 5.4pt'>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:#646464'>      @Override</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  ICustomFeature[] getCustomFeatures(ICustomContext context) {</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>             </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>return</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>new</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  ICustomFeature[] </span><span lang=EN-US style='font-size:10.0pt;font-family:
+  "Courier New"'><br>
+                    <span style='color:black'>{ </span><b><span
+  style='color:#7F0055'>new</span></b><span style='color:black'>
+  TutorialRenameEClassFeature(</span><b><span style='color:#7F0055'>this</span></b><span
+  style='color:black'>),</span></span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>                   
+  </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+  color:#7F0055'>new</span></b><span lang=EN-US style='font-size:10.0pt;
+  font-family:"Courier New";color:black'> TutorialCollapseDummyFeature(</span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>this</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>)};</span></p>
+  <p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+  color:black'>      }</span></p>
+  </td>
+ </tr>
+</table>
+
+<p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>
+
+<div class=MsoNormal align=center style='text-align:center'>
+
+<hr size=2 width="100%" align=center>
 
 </div>
-<hr>
-	<a href="http://www.eclipse.org/legal/epl-v10.html" shape="rect">Copyright (c) SAP AG 2005, 2010.</a>
+
+<p class=MsoNormal><a href="http://www.eclipse.org/legal/epl-v10.html"
+shape=rect><span lang=EN-US>Copyright (c) SAP AG 2005, 2010.</span></a> </p>
+
+</div>
 
 </body>
 
diff --git a/examples/org.eclipse.graphiti.doc/resources/docu/gfw/drill-down.htm b/examples/org.eclipse.graphiti.doc/resources/docu/gfw/drill-down.htm
index 3ec1e21..e80eab2 100644
--- a/examples/org.eclipse.graphiti.doc/resources/docu/gfw/drill-down.htm
+++ b/examples/org.eclipse.graphiti.doc/resources/docu/gfw/drill-down.htm
@@ -12,6 +12,9 @@
 	{font-family:"Cambria Math";
 	panose-1:2 4 5 3 5 4 6 3 2 4;}
 @font-face
+	{font-family:Cambria;
+	panose-1:2 4 5 3 5 4 6 3 2 4;}
+@font-face
 	{font-family:Tahoma;
 	panose-1:2 11 6 4 3 5 4 4 2 4;}
 @font-face
@@ -168,6 +171,23 @@
 	font-size:13.0pt;
 	font-family:"Times New Roman","serif";
 	font-style:italic;}
+p.comment, li.comment, div.comment
+	{mso-style-name:comment;
+	margin-top:5.65pt;
+	margin-right:0cm;
+	margin-bottom:5.65pt;
+	margin-left:0cm;
+	font-size:12.0pt;
+	font-family:"Times New Roman","serif";
+	font-weight:bold;}
+p.msochpdefault, li.msochpdefault, div.msochpdefault
+	{mso-style-name:msochpdefault;
+	margin-top:5.65pt;
+	margin-right:0cm;
+	margin-bottom:5.65pt;
+	margin-left:0cm;
+	font-size:10.0pt;
+	font-family:"Times New Roman","serif";}
 span.heading2char
 	{mso-style-name:heading2char;
 	font-family:"Arial","sans-serif";
@@ -182,11 +202,11 @@
 	font-style:italic;}
 .MsoChpDefault
 	{font-size:10.0pt;}
-@page Section1
+@page WordSection1
 	{size:595.45pt 841.7pt;
 	margin:72.0pt 89.85pt 72.0pt 89.85pt;}
-div.Section1
-	{page:Section1;}
+div.WordSection1
+	{page:WordSection1;}
  /* List Definitions */
  ol
 	{margin-bottom:0cm;}
@@ -199,7 +219,7 @@
 
 <body bgcolor=white lang=DE link=blue vlink=purple style='margin-bottom:12.0pt'>
 
-<div class=Section1>
+<div class=WordSection1>
 
 <h1><a name="_Toc179099520"><span lang=EN-GB>Providing </span></a><span
 lang=EN-GB>Drill-Down Behavior</span></h1>
@@ -208,10 +228,10 @@
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>Often the information
 which is shown in a diagram has a certain abstraction level, and the further
-details are shown in a separate diagram. For example if a workflow connects
-several sub-workflows, then one overview-diagram might show the complete
-workflow without the inner details of the sub-workflows, and several
-detail-diagrams show the inner details of each sub-workflow.</span></p>
+details are shown in a separate diagram. For example if a workflow connects several
+sub-workflows, then one overview-diagram might show the complete workflow
+without the inner details of the sub-workflows, and several detail-diagrams
+show the inner details of each sub-workflow.</span></p>
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>In this case the user
 wants to have an easy possibility to navigate from the overview-diagram into
@@ -259,12 +279,10 @@
 <p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;</span></p>
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>The functionality of
-the AbstractDrillDownFeature is not tool-independent, so the method <i>
-getDiagrams()</i> can be implemented </span>
-<span lang=EN-GB style='color:black'>only</span><span lang=EN-GB style='color:black'> 
-by the tool </span><span lang=EN-GB style='color:black'>efficiently</span><span lang=EN-GB style='color:black'>. 
-Furthermore we just overwrite the <i>canExecute</i>() method,
-so that the feature is only enabled if exactly one EClass is selected.</span></p>
+the AbstractDrillDownFeature is not tool-independent, so the method <i>getDiagrams()</i>
+can be implemented only by the tool efficiently. Furthermore we just overwrite
+the <i>canExecute</i>() method, so that the feature is only enabled if exactly
+one EClass is selected.</span></p>
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;</span></p>
 
@@ -273,10 +291,10 @@
 
 <p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>
 
-<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=851
+<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=680
  style='width:18.0cm;border-collapse:collapse'>
  <tr>
-  <td width=851 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
+  <td width=680 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
   padding:0cm 5.4pt 0cm 5.4pt'>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-GB
   style='color:black'>&nbsp;</span></p>
@@ -301,8 +319,8 @@
   style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
   </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
   color:#7F0055'>public</span></b><span lang=EN-US style='font-size:10.0pt;
-  font-family:"Courier New";color:black'>
-  TutorialDrillDownEClassFeature(IFeatureProvider fp) {</span></p>
+  font-family:"Courier New";color:black'> TutorialDrillDownEClassFeature(IFeatureProvider
+  fp) {</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
   style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
@@ -427,8 +445,8 @@
   lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>;</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
   style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
-  </span><span style='font-size:10.0pt;font-family:"Courier New";color:black'>}</span></p>
-  <p class=MsoNormal style='text-autospace:none'>&nbsp;</p>
+  }</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US>&nbsp;</span></p>
   <p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
   color:#646464'>&nbsp;&nbsp;&nbsp; @Override</span></p>
   <p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
@@ -485,21 +503,19 @@
 
 <p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>
 
-<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=851
+<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=680
  style='width:18.0cm;border-collapse:collapse'>
  <tr>
-  <td width=851 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
+  <td width=680 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
   padding:0cm 5.4pt 0cm 5.4pt'>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-GB
   style='font-size:10.0pt;font-family:"Courier New";color:#3F7F5F'>&nbsp;</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
   style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
   </span></p>
-  <p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
-  "Courier New";color:#7F0055'>package </span></b><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New"'>org.eclipse.graphiti.examples.tutorial<b>;<br>
-  <br>
-  </b></span></p>
+  <p class=MsoNormal style='margin-bottom:12.0pt'><b><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>package </span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'>org.eclipse.graphiti.examples.tutorial<b>;</b></span></p>
   <p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
   "Courier New";color:#7F0055'>public</span></b><span lang=EN-US
   style='font-size:10.0pt;font-family:"Courier New"'> <b><span
@@ -516,8 +532,8 @@
   List&lt;IFile&gt; files = <i>getDiagramFiles</i>(p);</span></p>
   <p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
   "Courier New";color:#7F0055'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final</span></b><span
-  lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'> List&lt;Diagram&gt;
-  diagramList = <b><span style='color:#7F0055'>new</span></b>
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'>
+  List&lt;Diagram&gt; diagramList = <b><span style='color:#7F0055'>new</span></b>
   ArrayList&lt;Diagram&gt;();</span></p>
   <p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
   "Courier New";color:#7F0055'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final</span></b><span
@@ -550,8 +566,8 @@
   <p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
   "Courier New";color:#7F0055'>&nbsp;&nbsp;&nbsp; private</span></b><span
   lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'> <b><span
-  style='color:#7F0055'>static</span></b> List&lt;IFile&gt;
-  getDiagramFiles(IContainer folder) {</span></p>
+  style='color:#7F0055'>static</span></b> List&lt;IFile&gt; getDiagramFiles(IContainer
+  folder) {</span></p>
   <p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
   "Courier New";color:#7F0055'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final</span></b><span
   lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'>
@@ -715,10 +731,10 @@
 
 <p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>
 
-<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=851
+<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=680
  style='width:18.0cm;border-collapse:collapse'>
  <tr>
-  <td width=851 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
+  <td width=680 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
   padding:0cm 5.4pt 0cm 5.4pt'>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-GB
   style='color:black'>&nbsp;</span></p>
@@ -810,8 +826,8 @@
   color:#7F0055'>public</span></b><span lang=EN-US style='font-size:10.0pt;
   font-family:"Courier New";color:black'> </span><b><span lang=EN-US
   style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>boolean</span></b><span
-  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
-  canExecute(ICustomContext context) {</span></p>
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> canExecute(ICustomContext
+  context) {</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
   style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
@@ -939,9 +955,9 @@
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;</span></p>
 
-<p class=MsoNormal><span lang=EN-GB style='color:black'>Finally the feature
-provider has to deliver our newly created custom features (overwrite the method
-</span><span class=code1><span lang=EN-US style='color:black'><a
+<p class=MsoNormal><span lang=EN-GB style='color:black'>Finally the feature provider
+has to deliver our newly created custom features (overwrite the method </span><span
+class=code1><span lang=EN-US style='color:black'><a
 href="../../../javadoc/org/eclipse/graphiti/features/IFeatureProvider.html#getCustomFeatures(org.eclipse.graphiti.features.context.ICustomContext)"><span
 style='font-style:normal'>getCustomFeatures</span></a></span></span><span
 class=code1><span lang=EN-US style='color:black;font-style:normal'>)</span></span><i><span
@@ -952,55 +968,57 @@
 
 <p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;</span></p>
 
-<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=851
+<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=680
  style='width:18.0cm;border-collapse:collapse'>
  <tr>
-  <td width=851 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
+  <td width=680 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
   padding:0cm 5.4pt 0cm 5.4pt'>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-GB
   style='font-size:10.0pt;font-family:"Courier New";color:#3F7F5F'>&nbsp;</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
-  </span><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
-  color:#646464'>@Override</span></p>
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#646464'>@Override</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
-  </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
-  color:#7F0055'>public</span></b><span lang=EN-US style='font-size:10.0pt;
-  font-family:"Courier New";color:black'> ICustomFeature[]
-  getCustomFeatures(ICustomContext context) {</span></p>
-  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-  </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
-  color:#7F0055'>return</span></b><span lang=EN-US style='font-size:10.0pt;
-  font-family:"Courier New";color:black'> </span><b><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>new</span></b><span
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
   lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
-  ICustomFeature[] { </span><b><span lang=EN-US style='font-size:10.0pt;
-  font-family:"Courier New";color:#7F0055'>new</span></b><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:black'>
-  TutorialRenameEClassFeature(</span><b><span lang=EN-US style='font-size:10.0pt;
-  font-family:"Courier New";color:#7F0055'>this</span></b><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:black'>),</span></p>
+  ICustomFeature[] getCustomFeatures(ICustomContext context) {</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>             </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>return</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>new</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+  ICustomFeature[] </span><span lang=EN-US style='font-size:10.0pt;font-family:
+  "Courier New"'><br>
+                    <span style='color:black'>{ </span><b><span
+  style='color:#7F0055'>new</span></b><span style='color:black'>
+  TutorialRenameEClassFeature(</span><b><span style='color:#7F0055'>this</span></b><span
+  style='color:black'>),</span></span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>                   
   </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
   color:#7F0055'>new</span></b><span lang=EN-US style='font-size:10.0pt;
   font-family:"Courier New";color:black'> TutorialDrillDownEClassFeature(</span><b><span
   lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>this</span></b><span
-  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>), </span></p>
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>),</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>                   
   </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
   color:#7F0055'>new</span></b><span lang=EN-US style='font-size:10.0pt;
   font-family:"Courier New";color:black'>
   TutorialAssociateDiagramEClassFeature(</span><b><span lang=EN-US
   style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>this</span></b><span
-  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>)
-  };</span></p>
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>),</span></p>
   <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
-  style='font-size:10.0pt;font-family:"Courier New";color:black'>&nbsp;&nbsp;&nbsp;
-  </span><span style='font-size:10.0pt;font-family:"Courier New";color:black'>}</span></p>
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>                   
+  </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+  color:#7F0055'>new</span></b><span lang=EN-US style='font-size:10.0pt;
+  font-family:"Courier New";color:black'> TutorialCollapseDummyFeature(</span><b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>this</span></b><span
+  lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>)};</span></p>
+  <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+  style='font-size:10.0pt;font-family:"Courier New";color:black'>      }</span></p>
   <p class=MsoNormal><span lang=EN-GB style='color:black'>&nbsp;</span></p>
   </td>
  </tr>