diff --git a/modeling/AVATAR/CoffeeMachine_Avatar.xml b/modeling/AVATAR/CoffeeMachine_Avatar.xml
index 489d7a4c0a2da7fc274317d0074b3877c4adb951..02b72ee873f28f81396e091ffd744e047e090d40 100644
--- a/modeling/AVATAR/CoffeeMachine_Avatar.xml
+++ b/modeling/AVATAR/CoffeeMachine_Avatar.xml
@@ -643,7 +643,7 @@
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from TGComponent to TGComponent" value="" />
 <TGConnectingPoint num="0" id="373" />
-<P1  x="302" y="261" id="417" />
+<P1  x="302" y="261" id="404" />
 <P2  x="361" y="261" id="392" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
@@ -661,7 +661,7 @@
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from TGComponent to TGComponent" value="" />
 <TGConnectingPoint num="0" id="377" />
-<P1  x="305" y="211" id="404" />
+<P1  x="305" y="211" id="417" />
 <P2  x="361" y="211" id="391" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
@@ -750,11 +750,11 @@
 </COMPONENT>
 <SUBCOMPONENT type="5304" id="414" >
 <father id="452" num="0" />
-<cdparam x="166" y="191" />
-<sizeparam width="139" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="154" y="241" />
+<sizeparam width="148" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="29" minY="0" maxY="114" />
-<infoparam name="TGComponent" value="WaitingForFirstCoin_exit" />
+<cdrectangleparam minX="0" maxX="20" minY="0" maxY="114" />
+<infoparam name="TGComponent" value="WaitingForFirstCoin_enter" />
 <TGConnectingPoint num="0" id="402" />
 <TGConnectingPoint num="1" id="403" />
 <TGConnectingPoint num="2" id="404" />
@@ -770,11 +770,11 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5304" id="427" >
 <father id="452" num="1" />
-<cdparam x="154" y="241" />
-<sizeparam width="148" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="166" y="191" />
+<sizeparam width="139" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="20" minY="0" maxY="114" />
-<infoparam name="TGComponent" value="WaitingForFirstCoin_enter" />
+<cdrectangleparam minX="0" maxX="29" minY="0" maxY="114" />
+<infoparam name="TGComponent" value="WaitingForFirstCoin_exit" />
 <TGConnectingPoint num="0" id="415" />
 <TGConnectingPoint num="1" id="416" />
 <TGConnectingPoint num="2" id="417" />
@@ -904,7 +904,7 @@
 <TGConnectingPoint num="0" id="511" />
 <TGConnectingPoint num="1" id="512" />
 <TGConnectingPoint num="2" id="513" />
-<P1  x="581" y="154" id="587" />
+<P1  x="581" y="154" id="600" />
 <P2  x="546" y="305" id="657" />
 <Point x="518" y="154" />
 <Point x="518" y="305" />
@@ -932,7 +932,7 @@
 <infoparam name="connector from TGComponent to TGComponent" value="" />
 <TGConnectingPoint num="0" id="516" />
 <TGConnectingPoint num="1" id="517" />
-<P1  x="631" y="164" id="582" />
+<P1  x="631" y="164" id="595" />
 <P2  x="667" y="310" id="644" />
 <Point x="631" y="310" />
 <AutomaticDrawing  data="true" />
@@ -960,7 +960,7 @@
 <infoparam name="connector from TGComponent to TGComponent" value="" />
 <TGConnectingPoint num="0" id="522" />
 <TGConnectingPoint num="1" id="523" />
-<P1  x="721" y="158" id="593" />
+<P1  x="721" y="158" id="580" />
 <P2  x="700" y="204" id="634" />
 <Point x="700" y="158" />
 <AutomaticDrawing  data="true" />
@@ -1115,13 +1115,13 @@
 <TGConnectingPoint num="22" id="627" />
 <TGConnectingPoint num="23" id="628" />
 </COMPONENT>
-<SUBCOMPONENT type="5304" id="591" >
+<SUBCOMPONENT type="5303" id="591" >
 <father id="629" num="0" />
-<cdparam x="581" y="125" />
-<sizeparam width="100" height="39" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="721" y="133" />
+<sizeparam width="100" height="50" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="168" minY="0" maxY="76" />
-<infoparam name="TGComponent" value="Start" />
+<cdrectangleparam minX="0" maxX="168" minY="0" maxY="65" />
+<infoparam name="TGComponent" value="nbOfCoins" />
 <TGConnectingPoint num="0" id="579" />
 <TGConnectingPoint num="1" id="580" />
 <TGConnectingPoint num="2" id="581" />
@@ -1134,14 +1134,17 @@
 <TGConnectingPoint num="9" id="588" />
 <TGConnectingPoint num="10" id="589" />
 <TGConnectingPoint num="11" id="590" />
+<extraparam>
+<Toggle value="" />
+</extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5303" id="604" >
+<SUBCOMPONENT type="5304" id="604" >
 <father id="629" num="1" />
-<cdparam x="721" y="133" />
-<sizeparam width="100" height="50" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="581" y="125" />
+<sizeparam width="100" height="39" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="168" minY="0" maxY="65" />
-<infoparam name="TGComponent" value="nbOfCoins" />
+<cdrectangleparam minX="0" maxX="168" minY="0" maxY="76" />
+<infoparam name="TGComponent" value="Start" />
 <TGConnectingPoint num="0" id="592" />
 <TGConnectingPoint num="1" id="593" />
 <TGConnectingPoint num="2" id="594" />
@@ -1154,9 +1157,6 @@
 <TGConnectingPoint num="9" id="601" />
 <TGConnectingPoint num="10" id="602" />
 <TGConnectingPoint num="11" id="603" />
-<extraparam>
-<Toggle value="" />
-</extraparam>
 </SUBCOMPONENT>
 
 <COMPONENT type="5306" id="641" >
@@ -1287,7 +1287,7 @@
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="800" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from Block1 to Block0" value="" />
 <TGConnectingPoint num="0" id="694" />
-<P1  x="446" y="279" id="773" />
+<P1  x="446" y="279" id="748" />
 <P2  x="447" y="301" id="806" />
 <AutomaticDrawing  data="true" />
 <extraparam>
@@ -1317,7 +1317,7 @@
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="800" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from Block1 to Block0" value="" />
 <TGConnectingPoint num="0" id="698" />
-<P1  x="631" y="278" id="748" />
+<P1  x="631" y="278" id="773" />
 <P2  x="631" y="301" id="807" />
 <AutomaticDrawing  data="true" />
 <extraparam>
@@ -1478,11 +1478,11 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 </COMPONENT>
 <SUBCOMPONENT type="5000" id="766" >
 <father id="816" num="0" />
-<cdparam x="556" y="197" />
-<sizeparam width="150" height="81" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="371" y="198" />
+<sizeparam width="151" height="81" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="218" minY="0" maxY="205" />
-<infoparam name="Block1" value="TeaButton" />
+<cdrectangleparam minX="0" maxX="217" minY="0" maxY="205" />
+<infoparam name="Block1" value="CoffeeButton" />
 <TGConnectingPoint num="0" id="742" />
 <TGConnectingPoint num="1" id="743" />
 <TGConnectingPoint num="2" id="744" />
@@ -1516,11 +1516,11 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5000" id="791" >
 <father id="816" num="1" />
-<cdparam x="371" y="198" />
-<sizeparam width="151" height="81" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="556" y="197" />
+<sizeparam width="150" height="81" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="217" minY="0" maxY="205" />
-<infoparam name="Block1" value="CoffeeButton" />
+<cdrectangleparam minX="0" maxX="218" minY="0" maxY="205" />
+<infoparam name="Block1" value="TeaButton" />
 <TGConnectingPoint num="0" id="767" />
 <TGConnectingPoint num="1" id="768" />
 <TGConnectingPoint num="2" id="769" />
@@ -1562,8 +1562,8 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from start state to Send signal" value="null" />
 <TGConnectingPoint num="0" id="822" />
-<P1  x="340" y="233" id="993" />
-<P2  x="353" y="252" id="995" />
+<P1  x="340" y="233" id="1004" />
+<P2  x="353" y="252" id="993" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="821" >
 <father id="823" num="0" />
@@ -1661,7 +1661,7 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from Send signal to state0" value="null" />
 <TGConnectingPoint num="0" id="843" />
-<P1  x="353" y="282" id="996" />
+<P1  x="353" y="282" id="994" />
 <P2  x="399" y="352" id="846" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="842" >
@@ -1946,33 +1946,33 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 <extraparam>
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="5100" id="994" >
+<SUBCOMPONENT type="5103" id="1003" >
 <father id="1078" num="0" />
-<cdparam x="333" y="213" />
-<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="169" minY="0" maxY="115" />
-<infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="993" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="5103" id="1005" >
-<father id="1078" num="1" />
 <cdparam x="330" y="257" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="0" maxX="138" minY="0" maxY="110" />
 <infoparam name="Send signal" value="push()" />
-<TGConnectingPoint num="0" id="995" />
-<TGConnectingPoint num="1" id="996" />
-<TGConnectingPoint num="2" id="997" />
-<TGConnectingPoint num="3" id="998" />
-<TGConnectingPoint num="4" id="999" />
-<TGConnectingPoint num="5" id="1000" />
-<TGConnectingPoint num="6" id="1001" />
-<TGConnectingPoint num="7" id="1002" />
-<TGConnectingPoint num="8" id="1003" />
-<TGConnectingPoint num="9" id="1004" />
+<TGConnectingPoint num="0" id="993" />
+<TGConnectingPoint num="1" id="994" />
+<TGConnectingPoint num="2" id="995" />
+<TGConnectingPoint num="3" id="996" />
+<TGConnectingPoint num="4" id="997" />
+<TGConnectingPoint num="5" id="998" />
+<TGConnectingPoint num="6" id="999" />
+<TGConnectingPoint num="7" id="1000" />
+<TGConnectingPoint num="8" id="1001" />
+<TGConnectingPoint num="9" id="1002" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="5100" id="1005" >
+<father id="1078" num="1" />
+<cdparam x="333" y="213" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="169" minY="0" maxY="115" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1004" />
 </SUBCOMPONENT>
 
 
@@ -2548,8 +2548,8 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from start state to state0" value="null" />
 <TGConnectingPoint num="0" id="1320" />
-<P1  x="261" y="421" id="1966" />
-<P2  x="260" y="437" id="1969" />
+<P1  x="261" y="421" id="1955" />
+<P2  x="260" y="437" id="1883" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="1319" >
 <father id="1321" num="0" />
@@ -2581,8 +2581,8 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from state0 to Send signal" value="null" />
 <TGConnectingPoint num="0" id="1327" />
-<P1  x="227" y="477" id="1982" />
-<P2  x="126" y="524" id="1955" />
+<P1  x="227" y="477" id="1896" />
+<P2  x="126" y="524" id="1957" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="1326" >
 <father id="1328" num="0" />
@@ -2614,8 +2614,8 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from Send signal to stop state" value="null" />
 <TGConnectingPoint num="0" id="1334" />
-<P1  x="126" y="554" id="1956" />
-<P2  x="126" y="653" id="1872" />
+<P1  x="126" y="554" id="1958" />
+<P2  x="126" y="653" id="1980" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="1333" >
 <father id="1335" num="0" />
@@ -2649,8 +2649,8 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from state0 to Send signal" value="null" />
 <TGConnectingPoint num="0" id="1341" />
-<P1  x="293" y="477" id="1983" />
-<P2  x="298" y="524" id="2041" />
+<P1  x="293" y="477" id="1897" />
+<P2  x="298" y="524" id="1871" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="1340" >
 <father id="1342" num="0" />
@@ -2682,7 +2682,7 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from Send signal to stop state" value="null" />
 <TGConnectingPoint num="0" id="1348" />
-<P1  x="298" y="554" id="2042" />
+<P1  x="298" y="554" id="1872" />
 <P2  x="296" y="650" id="1799" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="1347" >
@@ -2717,8 +2717,8 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from state0 to Send signal" value="null" />
 <TGConnectingPoint num="0" id="1355" />
-<P1  x="326" y="457" id="1972" />
-<P2  x="442" y="497" id="1944" />
+<P1  x="326" y="457" id="1886" />
+<P2  x="442" y="497" id="1968" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="1354" >
 <father id="1356" num="0" />
@@ -2751,7 +2751,7 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 <infoparam name="connector from Send signal to stop state" value="null" />
 <TGConnectingPoint num="0" id="1363" />
 <TGConnectingPoint num="1" id="1364" />
-<P1  x="442" y="527" id="1945" />
+<P1  x="442" y="527" id="1969" />
 <P2  x="323" y="748" id="1661" />
 <Point x="442" y="737" />
 <AutomaticDrawing  data="true" />
@@ -2835,7 +2835,7 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
 <TGConnectingPoint num="0" id="1379" />
-<P1  x="126" y="702" id="1877" />
+<P1  x="126" y="702" id="1985" />
 <P2  x="221" y="758" id="1662" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="1378" >
@@ -3539,14 +3539,14 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 <extraparam>
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="5106" id="1943" >
+<SUBCOMPONENT type="5104" id="1881" >
 <father id="2124" num="0" />
-<cdparam x="53" y="653" />
-<sizeparam width="146" height="49" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="242" y="529" />
+<sizeparam width="112" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="431" minY="0" maxY="305" />
-<infoparam name="state0" value="CoffeeDelivered" />
+<cdrectangleparam minX="0" maxX="465" minY="0" maxY="334" />
+<infoparam name="Send signal" value="pushTeaButton()" />
 <TGConnectingPoint num="0" id="1871" />
 <TGConnectingPoint num="1" id="1872" />
 <TGConnectingPoint num="2" id="1873" />
@@ -3557,128 +3557,129 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 <TGConnectingPoint num="7" id="1878" />
 <TGConnectingPoint num="8" id="1879" />
 <TGConnectingPoint num="9" id="1880" />
-<TGConnectingPoint num="10" id="1881" />
-<TGConnectingPoint num="11" id="1882" />
-<TGConnectingPoint num="12" id="1883" />
-<TGConnectingPoint num="13" id="1884" />
-<TGConnectingPoint num="14" id="1885" />
-<TGConnectingPoint num="15" id="1886" />
-<TGConnectingPoint num="16" id="1887" />
-<TGConnectingPoint num="17" id="1888" />
-<TGConnectingPoint num="18" id="1889" />
-<TGConnectingPoint num="19" id="1890" />
-<TGConnectingPoint num="20" id="1891" />
-<TGConnectingPoint num="21" id="1892" />
-<TGConnectingPoint num="22" id="1893" />
-<TGConnectingPoint num="23" id="1894" />
-<TGConnectingPoint num="24" id="1895" />
-<TGConnectingPoint num="25" id="1896" />
-<TGConnectingPoint num="26" id="1897" />
-<TGConnectingPoint num="27" id="1898" />
-<TGConnectingPoint num="28" id="1899" />
-<TGConnectingPoint num="29" id="1900" />
-<TGConnectingPoint num="30" id="1901" />
-<TGConnectingPoint num="31" id="1902" />
-<TGConnectingPoint num="32" id="1903" />
-<TGConnectingPoint num="33" id="1904" />
-<TGConnectingPoint num="34" id="1905" />
-<TGConnectingPoint num="35" id="1906" />
-<TGConnectingPoint num="36" id="1907" />
-<TGConnectingPoint num="37" id="1908" />
-<TGConnectingPoint num="38" id="1909" />
-<TGConnectingPoint num="39" id="1910" />
-<TGConnectingPoint num="40" id="1911" />
-<TGConnectingPoint num="41" id="1912" />
-<TGConnectingPoint num="42" id="1913" />
-<TGConnectingPoint num="43" id="1914" />
-<TGConnectingPoint num="44" id="1915" />
-<TGConnectingPoint num="45" id="1916" />
-<TGConnectingPoint num="46" id="1917" />
-<TGConnectingPoint num="47" id="1918" />
-<TGConnectingPoint num="48" id="1919" />
-<TGConnectingPoint num="49" id="1920" />
-<TGConnectingPoint num="50" id="1921" />
-<TGConnectingPoint num="51" id="1922" />
-<TGConnectingPoint num="52" id="1923" />
-<TGConnectingPoint num="53" id="1924" />
-<TGConnectingPoint num="54" id="1925" />
-<TGConnectingPoint num="55" id="1926" />
-<TGConnectingPoint num="56" id="1927" />
-<TGConnectingPoint num="57" id="1928" />
-<TGConnectingPoint num="58" id="1929" />
-<TGConnectingPoint num="59" id="1930" />
-<TGConnectingPoint num="60" id="1931" />
-<TGConnectingPoint num="61" id="1932" />
-<TGConnectingPoint num="62" id="1933" />
-<TGConnectingPoint num="63" id="1934" />
-<TGConnectingPoint num="64" id="1935" />
-<TGConnectingPoint num="65" id="1936" />
-<TGConnectingPoint num="66" id="1937" />
-<TGConnectingPoint num="67" id="1938" />
-<TGConnectingPoint num="68" id="1939" />
-<TGConnectingPoint num="69" id="1940" />
-<TGConnectingPoint num="70" id="1941" />
-<TGConnectingPoint num="71" id="1942" />
-<extraparam>
-</extraparam>
+<accessibility />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5103" id="1954" >
+<SUBCOMPONENT type="5106" id="1954" >
 <father id="2124" num="1" />
-<cdparam x="377" y="502" />
-<sizeparam width="130" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="194" y="437" />
+<sizeparam width="132" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="447" minY="0" maxY="334" />
-<infoparam name="Send signal" value="ejectCoin(nbOfCoins)" />
-<TGConnectingPoint num="0" id="1944" />
-<TGConnectingPoint num="1" id="1945" />
-<TGConnectingPoint num="2" id="1946" />
-<TGConnectingPoint num="3" id="1947" />
-<TGConnectingPoint num="4" id="1948" />
-<TGConnectingPoint num="5" id="1949" />
-<TGConnectingPoint num="6" id="1950" />
-<TGConnectingPoint num="7" id="1951" />
-<TGConnectingPoint num="8" id="1952" />
-<TGConnectingPoint num="9" id="1953" />
-<accessibility />
+<cdrectangleparam minX="0" maxX="445" minY="0" maxY="314" />
+<infoparam name="state0" value="WaitingForSelection" />
+<TGConnectingPoint num="0" id="1882" />
+<TGConnectingPoint num="1" id="1883" />
+<TGConnectingPoint num="2" id="1884" />
+<TGConnectingPoint num="3" id="1885" />
+<TGConnectingPoint num="4" id="1886" />
+<TGConnectingPoint num="5" id="1887" />
+<TGConnectingPoint num="6" id="1888" />
+<TGConnectingPoint num="7" id="1889" />
+<TGConnectingPoint num="8" id="1890" />
+<TGConnectingPoint num="9" id="1891" />
+<TGConnectingPoint num="10" id="1892" />
+<TGConnectingPoint num="11" id="1893" />
+<TGConnectingPoint num="12" id="1894" />
+<TGConnectingPoint num="13" id="1895" />
+<TGConnectingPoint num="14" id="1896" />
+<TGConnectingPoint num="15" id="1897" />
+<TGConnectingPoint num="16" id="1898" />
+<TGConnectingPoint num="17" id="1899" />
+<TGConnectingPoint num="18" id="1900" />
+<TGConnectingPoint num="19" id="1901" />
+<TGConnectingPoint num="20" id="1902" />
+<TGConnectingPoint num="21" id="1903" />
+<TGConnectingPoint num="22" id="1904" />
+<TGConnectingPoint num="23" id="1905" />
+<TGConnectingPoint num="24" id="1906" />
+<TGConnectingPoint num="25" id="1907" />
+<TGConnectingPoint num="26" id="1908" />
+<TGConnectingPoint num="27" id="1909" />
+<TGConnectingPoint num="28" id="1910" />
+<TGConnectingPoint num="29" id="1911" />
+<TGConnectingPoint num="30" id="1912" />
+<TGConnectingPoint num="31" id="1913" />
+<TGConnectingPoint num="32" id="1914" />
+<TGConnectingPoint num="33" id="1915" />
+<TGConnectingPoint num="34" id="1916" />
+<TGConnectingPoint num="35" id="1917" />
+<TGConnectingPoint num="36" id="1918" />
+<TGConnectingPoint num="37" id="1919" />
+<TGConnectingPoint num="38" id="1920" />
+<TGConnectingPoint num="39" id="1921" />
+<TGConnectingPoint num="40" id="1922" />
+<TGConnectingPoint num="41" id="1923" />
+<TGConnectingPoint num="42" id="1924" />
+<TGConnectingPoint num="43" id="1925" />
+<TGConnectingPoint num="44" id="1926" />
+<TGConnectingPoint num="45" id="1927" />
+<TGConnectingPoint num="46" id="1928" />
+<TGConnectingPoint num="47" id="1929" />
+<TGConnectingPoint num="48" id="1930" />
+<TGConnectingPoint num="49" id="1931" />
+<TGConnectingPoint num="50" id="1932" />
+<TGConnectingPoint num="51" id="1933" />
+<TGConnectingPoint num="52" id="1934" />
+<TGConnectingPoint num="53" id="1935" />
+<TGConnectingPoint num="54" id="1936" />
+<TGConnectingPoint num="55" id="1937" />
+<TGConnectingPoint num="56" id="1938" />
+<TGConnectingPoint num="57" id="1939" />
+<TGConnectingPoint num="58" id="1940" />
+<TGConnectingPoint num="59" id="1941" />
+<TGConnectingPoint num="60" id="1942" />
+<TGConnectingPoint num="61" id="1943" />
+<TGConnectingPoint num="62" id="1944" />
+<TGConnectingPoint num="63" id="1945" />
+<TGConnectingPoint num="64" id="1946" />
+<TGConnectingPoint num="65" id="1947" />
+<TGConnectingPoint num="66" id="1948" />
+<TGConnectingPoint num="67" id="1949" />
+<TGConnectingPoint num="68" id="1950" />
+<TGConnectingPoint num="69" id="1951" />
+<TGConnectingPoint num="70" id="1952" />
+<TGConnectingPoint num="71" id="1953" />
+<latencyCheck />
+<extraparam>
+</extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5104" id="1965" >
+<SUBCOMPONENT type="5100" id="1956" >
 <father id="2124" num="2" />
+<cdparam x="254" y="401" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="562" minY="0" maxY="339" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1955" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="5104" id="1967" >
+<father id="2124" num="3" />
 <cdparam x="63" y="529" />
 <sizeparam width="127" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="0" maxX="450" minY="0" maxY="334" />
 <infoparam name="Send signal" value="pushCoffeeButton()" />
-<TGConnectingPoint num="0" id="1955" />
-<TGConnectingPoint num="1" id="1956" />
-<TGConnectingPoint num="2" id="1957" />
-<TGConnectingPoint num="3" id="1958" />
-<TGConnectingPoint num="4" id="1959" />
-<TGConnectingPoint num="5" id="1960" />
-<TGConnectingPoint num="6" id="1961" />
-<TGConnectingPoint num="7" id="1962" />
-<TGConnectingPoint num="8" id="1963" />
-<TGConnectingPoint num="9" id="1964" />
+<TGConnectingPoint num="0" id="1957" />
+<TGConnectingPoint num="1" id="1958" />
+<TGConnectingPoint num="2" id="1959" />
+<TGConnectingPoint num="3" id="1960" />
+<TGConnectingPoint num="4" id="1961" />
+<TGConnectingPoint num="5" id="1962" />
+<TGConnectingPoint num="6" id="1963" />
+<TGConnectingPoint num="7" id="1964" />
+<TGConnectingPoint num="8" id="1965" />
+<TGConnectingPoint num="9" id="1966" />
 <accessibility />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5100" id="1967" >
-<father id="2124" num="3" />
-<cdparam x="254" y="401" />
-<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="562" minY="0" maxY="339" />
-<infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1966" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="5106" id="2040" >
+<SUBCOMPONENT type="5103" id="1978" >
 <father id="2124" num="4" />
-<cdparam x="194" y="437" />
-<sizeparam width="132" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="377" y="502" />
+<sizeparam width="130" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="445" minY="0" maxY="314" />
-<infoparam name="state0" value="WaitingForSelection" />
+<cdrectangleparam minX="0" maxX="447" minY="0" maxY="334" />
+<infoparam name="Send signal" value="ejectCoin(nbOfCoins)" />
 <TGConnectingPoint num="0" id="1968" />
 <TGConnectingPoint num="1" id="1969" />
 <TGConnectingPoint num="2" id="1970" />
@@ -3689,91 +3690,90 @@ CoffeeMachine.CoffeeDelivered --&gt; CoffeeMachine.nbOfCoins&lt;2
 <TGConnectingPoint num="7" id="1975" />
 <TGConnectingPoint num="8" id="1976" />
 <TGConnectingPoint num="9" id="1977" />
-<TGConnectingPoint num="10" id="1978" />
-<TGConnectingPoint num="11" id="1979" />
-<TGConnectingPoint num="12" id="1980" />
-<TGConnectingPoint num="13" id="1981" />
-<TGConnectingPoint num="14" id="1982" />
-<TGConnectingPoint num="15" id="1983" />
-<TGConnectingPoint num="16" id="1984" />
-<TGConnectingPoint num="17" id="1985" />
-<TGConnectingPoint num="18" id="1986" />
-<TGConnectingPoint num="19" id="1987" />
-<TGConnectingPoint num="20" id="1988" />
-<TGConnectingPoint num="21" id="1989" />
-<TGConnectingPoint num="22" id="1990" />
-<TGConnectingPoint num="23" id="1991" />
-<TGConnectingPoint num="24" id="1992" />
-<TGConnectingPoint num="25" id="1993" />
-<TGConnectingPoint num="26" id="1994" />
-<TGConnectingPoint num="27" id="1995" />
-<TGConnectingPoint num="28" id="1996" />
-<TGConnectingPoint num="29" id="1997" />
-<TGConnectingPoint num="30" id="1998" />
-<TGConnectingPoint num="31" id="1999" />
-<TGConnectingPoint num="32" id="2000" />
-<TGConnectingPoint num="33" id="2001" />
-<TGConnectingPoint num="34" id="2002" />
-<TGConnectingPoint num="35" id="2003" />
-<TGConnectingPoint num="36" id="2004" />
-<TGConnectingPoint num="37" id="2005" />
-<TGConnectingPoint num="38" id="2006" />
-<TGConnectingPoint num="39" id="2007" />
-<TGConnectingPoint num="40" id="2008" />
-<TGConnectingPoint num="41" id="2009" />
-<TGConnectingPoint num="42" id="2010" />
-<TGConnectingPoint num="43" id="2011" />
-<TGConnectingPoint num="44" id="2012" />
-<TGConnectingPoint num="45" id="2013" />
-<TGConnectingPoint num="46" id="2014" />
-<TGConnectingPoint num="47" id="2015" />
-<TGConnectingPoint num="48" id="2016" />
-<TGConnectingPoint num="49" id="2017" />
-<TGConnectingPoint num="50" id="2018" />
-<TGConnectingPoint num="51" id="2019" />
-<TGConnectingPoint num="52" id="2020" />
-<TGConnectingPoint num="53" id="2021" />
-<TGConnectingPoint num="54" id="2022" />
-<TGConnectingPoint num="55" id="2023" />
-<TGConnectingPoint num="56" id="2024" />
-<TGConnectingPoint num="57" id="2025" />
-<TGConnectingPoint num="58" id="2026" />
-<TGConnectingPoint num="59" id="2027" />
-<TGConnectingPoint num="60" id="2028" />
-<TGConnectingPoint num="61" id="2029" />
-<TGConnectingPoint num="62" id="2030" />
-<TGConnectingPoint num="63" id="2031" />
-<TGConnectingPoint num="64" id="2032" />
-<TGConnectingPoint num="65" id="2033" />
-<TGConnectingPoint num="66" id="2034" />
-<TGConnectingPoint num="67" id="2035" />
-<TGConnectingPoint num="68" id="2036" />
-<TGConnectingPoint num="69" id="2037" />
-<TGConnectingPoint num="70" id="2038" />
-<TGConnectingPoint num="71" id="2039" />
-<latencyCheck />
-<extraparam>
-</extraparam>
+<accessibility />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5104" id="2051" >
+<SUBCOMPONENT type="5106" id="2051" >
 <father id="2124" num="5" />
-<cdparam x="242" y="529" />
-<sizeparam width="112" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="53" y="653" />
+<sizeparam width="146" height="49" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="465" minY="0" maxY="334" />
-<infoparam name="Send signal" value="pushTeaButton()" />
-<TGConnectingPoint num="0" id="2041" />
-<TGConnectingPoint num="1" id="2042" />
-<TGConnectingPoint num="2" id="2043" />
-<TGConnectingPoint num="3" id="2044" />
-<TGConnectingPoint num="4" id="2045" />
-<TGConnectingPoint num="5" id="2046" />
-<TGConnectingPoint num="6" id="2047" />
-<TGConnectingPoint num="7" id="2048" />
-<TGConnectingPoint num="8" id="2049" />
-<TGConnectingPoint num="9" id="2050" />
-<accessibility />
+<cdrectangleparam minX="0" maxX="431" minY="0" maxY="305" />
+<infoparam name="state0" value="CoffeeDelivered" />
+<TGConnectingPoint num="0" id="1979" />
+<TGConnectingPoint num="1" id="1980" />
+<TGConnectingPoint num="2" id="1981" />
+<TGConnectingPoint num="3" id="1982" />
+<TGConnectingPoint num="4" id="1983" />
+<TGConnectingPoint num="5" id="1984" />
+<TGConnectingPoint num="6" id="1985" />
+<TGConnectingPoint num="7" id="1986" />
+<TGConnectingPoint num="8" id="1987" />
+<TGConnectingPoint num="9" id="1988" />
+<TGConnectingPoint num="10" id="1989" />
+<TGConnectingPoint num="11" id="1990" />
+<TGConnectingPoint num="12" id="1991" />
+<TGConnectingPoint num="13" id="1992" />
+<TGConnectingPoint num="14" id="1993" />
+<TGConnectingPoint num="15" id="1994" />
+<TGConnectingPoint num="16" id="1995" />
+<TGConnectingPoint num="17" id="1996" />
+<TGConnectingPoint num="18" id="1997" />
+<TGConnectingPoint num="19" id="1998" />
+<TGConnectingPoint num="20" id="1999" />
+<TGConnectingPoint num="21" id="2000" />
+<TGConnectingPoint num="22" id="2001" />
+<TGConnectingPoint num="23" id="2002" />
+<TGConnectingPoint num="24" id="2003" />
+<TGConnectingPoint num="25" id="2004" />
+<TGConnectingPoint num="26" id="2005" />
+<TGConnectingPoint num="27" id="2006" />
+<TGConnectingPoint num="28" id="2007" />
+<TGConnectingPoint num="29" id="2008" />
+<TGConnectingPoint num="30" id="2009" />
+<TGConnectingPoint num="31" id="2010" />
+<TGConnectingPoint num="32" id="2011" />
+<TGConnectingPoint num="33" id="2012" />
+<TGConnectingPoint num="34" id="2013" />
+<TGConnectingPoint num="35" id="2014" />
+<TGConnectingPoint num="36" id="2015" />
+<TGConnectingPoint num="37" id="2016" />
+<TGConnectingPoint num="38" id="2017" />
+<TGConnectingPoint num="39" id="2018" />
+<TGConnectingPoint num="40" id="2019" />
+<TGConnectingPoint num="41" id="2020" />
+<TGConnectingPoint num="42" id="2021" />
+<TGConnectingPoint num="43" id="2022" />
+<TGConnectingPoint num="44" id="2023" />
+<TGConnectingPoint num="45" id="2024" />
+<TGConnectingPoint num="46" id="2025" />
+<TGConnectingPoint num="47" id="2026" />
+<TGConnectingPoint num="48" id="2027" />
+<TGConnectingPoint num="49" id="2028" />
+<TGConnectingPoint num="50" id="2029" />
+<TGConnectingPoint num="51" id="2030" />
+<TGConnectingPoint num="52" id="2031" />
+<TGConnectingPoint num="53" id="2032" />
+<TGConnectingPoint num="54" id="2033" />
+<TGConnectingPoint num="55" id="2034" />
+<TGConnectingPoint num="56" id="2035" />
+<TGConnectingPoint num="57" id="2036" />
+<TGConnectingPoint num="58" id="2037" />
+<TGConnectingPoint num="59" id="2038" />
+<TGConnectingPoint num="60" id="2039" />
+<TGConnectingPoint num="61" id="2040" />
+<TGConnectingPoint num="62" id="2041" />
+<TGConnectingPoint num="63" id="2042" />
+<TGConnectingPoint num="64" id="2043" />
+<TGConnectingPoint num="65" id="2044" />
+<TGConnectingPoint num="66" id="2045" />
+<TGConnectingPoint num="67" id="2046" />
+<TGConnectingPoint num="68" id="2047" />
+<TGConnectingPoint num="69" id="2048" />
+<TGConnectingPoint num="70" id="2049" />
+<TGConnectingPoint num="71" id="2050" />
+<extraparam>
+</extraparam>
 </SUBCOMPONENT>
 
 
diff --git a/src/main/java/myutil/DataElement.java b/src/main/java/myutil/DataElement.java
index 08b434b0dd80c956c87bd3335534e40fc610fb0c..a431e1fb525acafa27c2595864edeba8a01548d3 100644
--- a/src/main/java/myutil/DataElement.java
+++ b/src/main/java/myutil/DataElement.java
@@ -103,8 +103,16 @@ public class DataElement implements GenericTree {
         return title;
     }
 
+    public boolean hasCSVData() {
+        return (data != null);
+    }
+
     public String getCSVData() {
 
+        if (data == null) {
+            return "";
+        }
+
         String ret = "";
         int i;
 
@@ -124,5 +132,24 @@ public class DataElement implements GenericTree {
         return ret;
     }
 
+    public boolean hasCSVSonData() {
+        return (childs != null);
+    }
+
+    public String getCSVDataSons () {
+        if (childs == null) {
+            return "";
+        }
+
+        StringBuffer sb = new StringBuffer("");
+
+        for(DataElement de: childs) {
+            sb.append(de.getCSVData() + "\n");
+            sb.append(de.getCSVDataSons());
+        }
+
+        return sb.toString();
+    }
+
 
 } // Class
diff --git a/src/main/java/myutil/JFrameStatistics.java b/src/main/java/myutil/JFrameStatistics.java
index ce174e0077b0b6c9db8e5bc01f0ce269762e9450..5629769a99dc9ae589088e2377acdcd289040dc2 100644
--- a/src/main/java/myutil/JFrameStatistics.java
+++ b/src/main/java/myutil/JFrameStatistics.java
@@ -114,11 +114,14 @@ public class JFrameStatistics extends JFrame implements ActionListener, GenericT
 
         // Tree panel
         JPanel leftTreePanel = new JPanel();
+        leftTreePanel.setLayout(new GridLayout(1, 1));
         JTreeStats statTree = new JTreeStats(this);
         JScrollPane scrollPane = new JScrollPane(statTree);
-        scrollPane.setPreferredSize(new Dimension(200, 600));
-        scrollPane.setMinimumSize(new Dimension(25, 200));
-        leftTreePanel.add(scrollPane);
+        //scrollPane.setPreferredSize(new Dimension(200, 600));
+        //scrollPane.setMinimumSize(new Dimension(25, 200));
+        GridBagConstraints c = new GridBagConstraints();
+        c.fill = GridBagConstraints.BOTH;
+        leftTreePanel.add(scrollPane, c);
 
         // Stat panel
         JPanel showStat = new JPanel();
@@ -208,8 +211,16 @@ public class JFrameStatistics extends JFrame implements ActionListener, GenericT
 
     }
 
-    public void showHistogram(DataElement de) {
+    public boolean canShowHistogram(DataElement de) {
         if ((de.data == null) || (de.data.length == 0)) {
+            return false;
+        }
+
+        return true;
+    }
+
+    public void showHistogram(DataElement de) {
+        if (!canShowHistogram(de)) {
             return;
         }
 
@@ -238,9 +249,18 @@ public class JFrameStatistics extends JFrame implements ActionListener, GenericT
 
     }
 
+    public boolean canShowPieChart(DataElement de) {
+        if ((de.data == null) || (de.data.length == 0)) {
+            return false;
+        }
+
+        return true;
+    }
+
+
     @SuppressWarnings("unchecked")
     public void showPieChart(DataElement de) {
-        if ((de.data == null) || (de.data.length == 0)) {
+        if (!canShowPieChart(de)) {
             return;
         }
 
@@ -330,9 +350,16 @@ public class JFrameStatistics extends JFrame implements ActionListener, GenericT
 
     }
 
+    public boolean canShowTimeValueChart(DataElement de) {
+        if ((de.times == null) || (de.data.length != de.times.length)) {
+            return false;
+        }
+        return true;
+    }
+
     @SuppressWarnings("unchecked")
     public void showTimeValueChart(DataElement de) {
-        if ((de.times == null) || (de.data.length != de.times.length)) {
+        if (!canShowTimeValueChart(de)) {
             return;
         }
 
@@ -418,14 +445,21 @@ public class JFrameStatistics extends JFrame implements ActionListener, GenericT
 
     }
 
+    public boolean canShowValueEvolutionChart(DataElement de) {
+        if ((de.setOfValues == null) || (de.setOfValues.size() == 0)) {
+            return false;
+        }
+        return true;
+    }
+
+
     @SuppressWarnings("unchecked")
     public void showValueEvolutionChart(DataElement de) {
 
-        if ((de.setOfValues == null) || (de.setOfValues.size() == 0)) {
+        if (!canShowValueEvolutionChart(de)) {
             return;
         }
 
-
         String title = "Value per Time and per simulation index " + de.toString();
 
         // Tab already exist?
diff --git a/src/main/java/myutil/JTreeStats.java b/src/main/java/myutil/JTreeStats.java
index 2be5fcefe005d97289ae5c38046eb9413673df03..0203a6acdb733eb261617451b8691fe338ee5fee 100644
--- a/src/main/java/myutil/JTreeStats.java
+++ b/src/main/java/myutil/JTreeStats.java
@@ -69,20 +69,18 @@ import java.util.Set;
  * @version 1.0 11/01/2021
  */
 public class JTreeStats extends javax.swing.JTree implements ActionListener, MouseListener, TreeExpansionListener, TreeSelectionListener, Runnable {
+    protected JMenuItem showAllSelectedCharts;
+    protected JMenuItem showHistogram, showPieChart, showTimeValueChart, showValueEvolutionChart;
+    protected JMenuItem saveAsCSVMI, saveSonCSVMI;
+    protected JPopupMenu popupTree;
+    protected DataElement selectedDataElement;
+    //private boolean m_nodeWasSelected = false;
     private boolean toUpdate = false;
     private JFrameStatistics jFStats;
     private TreeModelStats dtm;
-
     //for update
     private Set<TreePath> m_expandedTreePaths = new HashSet<>();
     private TreePath[] m_selectedTreePaths = new TreePath[0];
-    //private boolean m_nodeWasSelected = false;
-
-    protected JMenuItem showAllSelectedCharts;
-    protected JMenuItem showHistogram, showPieChart, showTimeValueChart, showValueEvolutionChart;
-    protected JMenuItem saveAsCSVMI;
-    protected JPopupMenu popupTree;
-    protected DataElement selectedDataElement;
 
 
     /*
@@ -177,7 +175,7 @@ public class JTreeStats extends javax.swing.JTree implements ActionListener, Mou
         selectedDataElement = null;
 
         if (obj instanceof DataElement) {
-            selectedDataElement = (DataElement)obj;
+            selectedDataElement = (DataElement) obj;
             if (popupTree == null) {
                 popupTree = new JPopupMenu();
 
@@ -196,10 +194,12 @@ public class JTreeStats extends javax.swing.JTree implements ActionListener, Mou
                 showValueEvolutionChart = new JMenuItem("Show Value = f(t) per Simulation Chart");
                 showValueEvolutionChart.addActionListener(this);
 
-
                 saveAsCSVMI = new JMenuItem("Save data in CSV format");
                 saveAsCSVMI.addActionListener(this);
 
+                saveSonCSVMI = new JMenuItem("Save data of *sons* in CSV format");
+                saveSonCSVMI.addActionListener(this);
+
                 popupTree.add(showAllSelectedCharts);
                 popupTree.addSeparator();
                 popupTree.add(showHistogram);
@@ -208,7 +208,18 @@ public class JTreeStats extends javax.swing.JTree implements ActionListener, Mou
                 popupTree.add(showValueEvolutionChart);
                 popupTree.addSeparator();
                 popupTree.add(saveAsCSVMI);
+                popupTree.add(saveSonCSVMI);
             }
+            showAllSelectedCharts.setEnabled(jFStats.canShowHistogram(selectedDataElement) ||
+                    jFStats.canShowPieChart(selectedDataElement) ||
+                    jFStats.canShowTimeValueChart(selectedDataElement) ||
+                    jFStats.canShowValueEvolutionChart(selectedDataElement) );
+            showHistogram.setEnabled(jFStats.canShowHistogram(selectedDataElement));
+            showPieChart.setEnabled(jFStats.canShowPieChart(selectedDataElement));
+            showTimeValueChart.setEnabled(jFStats.canShowTimeValueChart(selectedDataElement));
+            showValueEvolutionChart.setEnabled(jFStats.canShowValueEvolutionChart(selectedDataElement));
+            saveAsCSVMI.setEnabled(selectedDataElement.hasCSVData());
+            saveSonCSVMI.setEnabled(selectedDataElement.hasCSVSonData());
             popupTree.show(tree, x, y);
         }
 
@@ -335,7 +346,7 @@ public class JTreeStats extends javax.swing.JTree implements ActionListener, Mou
 
         if (nodeInfo instanceof DataElement) {
             //if ( ((DataElement)(nodeInfo)).isLeaf()) {
-                //jFStats.showStats((DataElement) nodeInfo);
+            //jFStats.showStats((DataElement) nodeInfo);
             //}
         }
     }
@@ -344,37 +355,11 @@ public class JTreeStats extends javax.swing.JTree implements ActionListener, Mou
     public void actionPerformed(ActionEvent ae) {
 
         if (ae.getSource() == saveAsCSVMI) {
-            if (selectedDataElement != null) {
-                TraceManager.addDev("Save in CSV format");
-
-                String csvData = selectedDataElement.getCSVData();
-                if ((csvData == null) || (csvData.length() == 0)) {
-                    JOptionPane.showMessageDialog(jFStats,
-                            "Empty data",
-                            "Error",
-                            JOptionPane.INFORMATION_MESSAGE);
-                    return;
-                }
+            saveCSV();
 
-                JFileChooser jfc = new JFileChooser();
-                int returnVal = jfc.showDialog(this, "Select file");
-                if (returnVal != JFileChooser.APPROVE_OPTION) {
-                    return;
-                }
+        } else if (ae.getSource() == saveSonCSVMI) {
+            saveSonsCSV();
 
-                File selectedFile = jfc.getSelectedFile();
-
-                if (selectedFile != null) {
-                    try {
-                        FileUtils.saveFile(selectedFile, csvData);
-                    } catch (Exception e) {
-                        JOptionPane.showMessageDialog(jFStats,
-                                "Could not save the file: " + e.getMessage(),
-                                "Error",
-                                JOptionPane.INFORMATION_MESSAGE);
-                    }
-                }
-            }
 
             // Find the related DataElement
         } else if (ae.getSource() == showAllSelectedCharts) {
@@ -401,5 +386,51 @@ public class JTreeStats extends javax.swing.JTree implements ActionListener, Mou
 
     }
 
+    public void saveCSV() {
+        if (selectedDataElement != null) {
+            TraceManager.addDev("Save in CSV format");
+            String csvData = selectedDataElement.getCSVData();
+            saveCSVData(csvData);
+        }
+    }
+
+    public void saveSonsCSV() {
+        if (selectedDataElement != null) {
+            TraceManager.addDev("Save sons in CSV format");
+            String csvData = selectedDataElement.getCSVDataSons();
+            saveCSVData(csvData);
+        }
+    }
+
+
+    public void saveCSVData(String csvData) {
+        if ((csvData == null) || (csvData.length() == 0)) {
+            JOptionPane.showMessageDialog(jFStats,
+                    "Empty data",
+                    "Error",
+                    JOptionPane.INFORMATION_MESSAGE);
+            return;
+        }
+
+        JFileChooser jfc = new JFileChooser();
+        int returnVal = jfc.showDialog(this, "Select file");
+        if (returnVal != JFileChooser.APPROVE_OPTION) {
+            return;
+        }
+
+        File selectedFile = jfc.getSelectedFile();
+
+        if (selectedFile != null) {
+            try {
+                FileUtils.saveFile(selectedFile, csvData);
+            } catch (Exception e) {
+                JOptionPane.showMessageDialog(jFStats,
+                        "Could not save the file: " + e.getMessage(),
+                        "Error",
+                        JOptionPane.INFORMATION_MESSAGE);
+            }
+        }
+    }
+
 
 }