<?xml version="1.0" encoding="UTF-8"?>
<mxGraphModel dx="2074" dy="1079" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" fold="0" page="1" pageScale="1" pageWidth="826" pageHeight="1169" style="default-style2" math="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="54dfea2f9ecdea05-64" value="&amp;nbsp;loop&amp;nbsp;" style="whiteSpace=wrap;align=left;verticalAlign=top;fontFamily=Share-Tech;fontColor=#FFFFFF;labelBackgroundColor=#666666;labelBorderColor=#666666;spacingTop=-6;spacingLeft=-2;fillColor=#F5F5F5;html=1" vertex="1" parent="1"><mxGeometry x="596" y="136" width="224" height="74" as="geometry"/></mxCell><mxCell id="2" value="PolicyEnforcement&#xa;Aspect" style="shape=umlLifeline;perimeter=lifelinePerimeter;gradientDirection=north;fillColor=#4D4D4D;shadow=0;gradientColor=#B3B3B3;strokeWidth=1;strokeColor=#808080;fontFamily=Share-Tech;fontColor=#FFFFFF;rounded=1;spacingRight=0;spacingLeft=0;" parent="1" vertex="1"><mxGeometry x="145" y="10" width="120" height="290" as="geometry"/></mxCell><mxCell id="10" value="PolicyInforcement" style="shape=umlLifeline;perimeter=lifelinePerimeter;gradientDirection=north;fillColor=#4D4D4D;shadow=0;gradientColor=#B3B3B3;strokeWidth=1;strokeColor=#808080;fontFamily=Share-Tech;fontColor=#FFFFFF;rounded=1" parent="1" vertex="1"><mxGeometry x="295" y="10" width="120" height="290" as="geometry"/></mxCell><mxCell id="11" value="AuthenticationProvider&#xa;Manager" style="shape=umlLifeline;perimeter=lifelinePerimeter;gradientDirection=north;fillColor=#4D4D4D;shadow=0;gradientColor=#B3B3B3;strokeWidth=1;strokeColor=#808080;fontFamily=Share-Tech;fontColor=#FFFFFF;rounded=1" parent="1" vertex="1"><mxGeometry x="430" y="10" width="120" height="290" as="geometry"/></mxCell><mxCell id="12" value="PrivilegeManager" style="shape=umlLifeline;perimeter=lifelinePerimeter;gradientDirection=north;fillColor=#4D4D4D;shadow=0;gradientColor=#B3B3B3;strokeWidth=1;strokeColor=#808080;fontFamily=Share-Tech;fontColor=#FFFFFF;rounded=1" parent="1" vertex="1"><mxGeometry x="565" y="10" width="120" height="290" as="geometry"/></mxCell><mxCell id="13" value="MethodPrivilege" style="shape=umlLifeline;perimeter=lifelinePerimeter;gradientDirection=north;fillColor=#4D4D4D;shadow=0;gradientColor=#B3B3B3;strokeWidth=1;strokeColor=#808080;fontFamily=Share-Tech;fontColor=#FFFFFF;rounded=1" parent="1" vertex="1"><mxGeometry x="700" y="10" width="120" height="290" as="geometry"/></mxCell><mxCell id="17" value="" style="whiteSpace=wrap;fontSize=12;fontFamily=Helvetica;align=center;verticalAlign=middle;fillColor=#E6E6E6;strokeColor=#000000;fontColor=#000000;gradientColor=#FFFFFF;gradientDirection=west" parent="1" vertex="1"><mxGeometry x="200" y="60" width="10" height="210" as="geometry"/></mxCell><mxCell id="20" value="" style="whiteSpace=wrap;fontSize=12;fontFamily=Helvetica;align=center;verticalAlign=middle;fillColor=#E6E6E6;strokeColor=#000000;fontColor=#000000;gradientColor=#FFFFFF;gradientDirection=west" parent="1" vertex="1"><mxGeometry x="350" y="90" width="10" height="150" as="geometry"/></mxCell><mxCell id="21" value="invoke()" style="endArrow=block;entryX=0.25;entryY=0;fontFamily=Share-Italic;endFill=1;fontStyle=0;fontColor=#0F0F0F;" parent="1" source="2" target="20" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="215" y="90" as="sourcePoint"/></mxGeometry></mxCell><mxCell id="22" value="" style="whiteSpace=wrap;fontSize=12;fontFamily=Helvetica;align=center;verticalAlign=middle;fillColor=#E6E6E6;strokeColor=#000000;fontColor=#000000;gradientColor=#FFFFFF;gradientDirection=west" parent="1" vertex="1"><mxGeometry x="485" y="112" width="10" height="20" as="geometry"/></mxCell><mxCell id="23" value="authenticate()" style="endArrow=block;entryX=0.25;entryY=0;fontFamily=Share-Tech;endFill=1;exitX=1;exitY=0.147;exitPerimeter=0;" parent="1" source="20" target="22" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="385" y="100" as="sourcePoint"/></mxGeometry></mxCell><mxCell id="31" value="" style="whiteSpace=wrap;fontSize=12;fontFamily=Helvetica;align=center;verticalAlign=middle;fillColor=#E6E6E6;strokeColor=#000000;fontColor=#000000;gradientColor=#FFFFFF;gradientDirection=west" parent="1" vertex="1"><mxGeometry x="620" y="165" width="10" height="38" as="geometry"/></mxCell><mxCell id="2fffe0faecab8d49-63" value="" style="whiteSpace=wrap;fontSize=12;fontFamily=Helvetica;align=center;verticalAlign=middle;fillColor=#E6E6E6;strokeColor=#000000;fontColor=#000000;gradientColor=#FFFFFF;gradientDirection=west" parent="1" vertex="1"><mxGeometry x="755" y="170" width="10" height="20" as="geometry"/></mxCell><mxCell id="2fffe0faecab8d49-64" value="isGranted('MethodPrivilegeInterface', $joinPoint)" style="endArrow=block;entryX=0.25;entryY=0;fontFamily=Share-Tech;endFill=1;exitX=1;exitY=0.5;spacingLeft=-33;" parent="1" source="20" target="31" edge="1"><mxGeometry x="450" y="266" as="geometry"><mxPoint x="400" y="170" as="sourcePoint"/><mxPoint x="798" y="170" as="targetPoint"/></mxGeometry></mxCell><mxCell id="54dfea2f9ecdea05-59" value="some method call&#xa;intercepted via AOP" style="endArrow=block;entryX=0.25;entryY=0;fontFamily=Share-Italic;endFill=1;fontStyle=0;fontColor=#0F0F0F;dashed=1;dashPattern=1 4;" edge="1" parent="1"><mxGeometry x="50" y="80" as="geometry"><mxPoint x="60" y="80" as="sourcePoint"/><mxPoint x="198" y="80" as="targetPoint"/></mxGeometry></mxCell><mxCell id="54dfea2f9ecdea05-60" value="" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#000000;fillColor=#1C1C1C;" vertex="1" parent="1"><mxGeometry x="41" y="70" width="10" height="20" as="geometry"/></mxCell><mxCell id="54dfea2f9ecdea05-61" value="" style="edgeStyle=none;endArrow=block;dashed=1;fontFamily=Share-Tech;endFill=1;exitX=0.25;exitY=1;" edge="1" parent="1" source="22"><mxGeometry x="426" y="480" width="100" height="100" as="geometry"><mxPoint x="554" y="480" as="sourcePoint"/><mxPoint x="360" y="132" as="targetPoint"/></mxGeometry></mxCell><mxCell id="54dfea2f9ecdea05-65" value="isGranted()" style="endArrow=block;entryX=0;entryY=0.25;fontFamily=Share-Tech;endFill=1;exitX=1;exitY=0.25;" edge="1" parent="1" source="31" target="2fffe0faecab8d49-63"><mxGeometry x="750" y="435" as="geometry"><mxPoint x="660" y="327" as="sourcePoint"/><mxPoint x="920" y="327" as="targetPoint"/></mxGeometry></mxCell><mxCell id="54dfea2f9ecdea05-71" value="boolean" style="edgeStyle=none;endArrow=block;dashed=1;exitX=0.5;exitY=1;fontFamily=Share-Tech;endFill=1;" edge="1" parent="1" source="2fffe0faecab8d49-63"><mxGeometry x="580" y="239" width="100" height="100" as="geometry"><mxPoint x="845" y="240" as="sourcePoint"/><mxPoint x="630" y="190" as="targetPoint"/></mxGeometry></mxCell><mxCell id="54dfea2f9ecdea05-73" value="boolean" style="edgeStyle=none;endArrow=block;dashed=1;exitX=0.25;exitY=1;fontFamily=Share-Tech;endFill=1;entryX=1;entryY=0.75;" edge="1" parent="1" source="31" target="20"><mxGeometry x="399" y="267" width="100" height="100" as="geometry"><mxPoint x="579" y="226" as="sourcePoint"/><mxPoint x="361" y="219" as="targetPoint"/></mxGeometry></mxCell><mxCell id="54dfea2f9ecdea05-75" value="" style="edgeStyle=none;endArrow=block;dashed=1;exitX=0.25;exitY=1;fontFamily=Share-Tech;endFill=1;entryX=1;entryY=0.857;entryPerimeter=0;" edge="1" parent="1" source="20" target="17"><mxGeometry x="239" y="534" width="100" height="100" as="geometry"><mxPoint x="463" y="470" as="sourcePoint"/><mxPoint x="200" y="470" as="targetPoint"/></mxGeometry></mxCell><mxCell id="54dfea2f9ecdea05-76" value="invoke original method if no&#xa;exception has been thrown" style="edgeStyle=none;endArrow=block;dashed=1;fontFamily=Share-Tech;endFill=1;exitX=0.25;exitY=1;" edge="1" parent="1" source="17"><mxGeometry x="-46" y="354" width="100" height="100" as="geometry"><mxPoint x="170" y="320" as="sourcePoint"/><mxPoint x="40" y="270" as="targetPoint"/><Array as="points"/></mxGeometry></mxCell></root></mxGraphModel>