protected internal void InterpretExecutionOccurrenceSpecification(ExecutionOccurrenceSpecification executionOccurrenceSpec,
		                                                                  SequenceChartElement nextOccurrenceSpec)
        {
            Lifeline coveredLifeline=executionOccurrenceSpec.CoveredLifeline;
            string coveredLifelineId = coveredLifeline.XmiId;
            string processEntryId=this.GetProcessEntryIdForLifelineId(coveredLifelineId);

            if(executionOccurrenceSpec.SpecificationKind== ExecutionOccurrenceSpecKind.START)
            {
                // >>>>>> Creates an RegionBegin-entry that represents only an Activation
                // >>>>>> there is no desicion for Coregions and Suspensions

                if(nextOccurrenceSpec is MessageEnd)
                {
                    this.entryCreator.CreateRegionBeginEditorEntryNoWordWrap(processEntryId,ACTIVATION);
                }
                else
                {
                    this.entryCreator.CreateRegionBeginEditorEntry(processEntryId,ACTIVATION);
                }
            }
            else if(executionOccurrenceSpec.SpecificationKind== ExecutionOccurrenceSpecKind.FINISH)
            {
                this.entryCreator.CreateRegionEndEditorEntry(processEntryId);
            }
        }
        protected void CreateExecutionOccurenceSpecs(Interaction relevantInteraction)
        {
            ExecutionSpecification currentExecutionSpec;
            ExecutionOccurrenceSpecification executionOccurrenceSpecStart;
            ExecutionOccurrenceSpecification executionOccurrenceSpecFinish;
            XmlElement currentBehaviorExecutionSpecElement;
            XmlElement executionOccurrenceSpecFinishElement;
            XmlElement executionOccurrenceSpecStartElement;
            Point currentExecutionSpecPosition;
            Size currentExecutionSpecDimension;
            Point executionOccurrenceSpecStartPosition;
            Point executionOccurrenceSpecFinishPosition;

            string currentExecutionOccurrenceSpecStartId;
            string currentExecutionOccurrenceSpecFinishId;
            ArrayList executionSpecs =relevantInteraction.ExecutionSpecs;
            IEnumerator itrExecutionSpecs =executionSpecs.GetEnumerator();

            while(itrExecutionSpecs.MoveNext())
            {
                currentExecutionSpec=(ExecutionSpecification)itrExecutionSpecs.Current;
                currentExecutionSpecPosition=currentExecutionSpec.Position;
                currentExecutionSpecDimension=currentExecutionSpec.Dimension;
                currentBehaviorExecutionSpecElement=currentExecutionSpec.XmlRepresentation;
                currentExecutionOccurrenceSpecStartId=currentBehaviorExecutionSpecElement.GetAttribute(UmlModel.START_ATTR_COMPLETE_NAME);
                currentExecutionOccurrenceSpecFinishId=currentBehaviorExecutionSpecElement.GetAttribute(UmlModel.FINISH_ATTR_COMPLETE_NAME);

                executionOccurrenceSpecStartPosition=new Point(currentExecutionSpecPosition.X,currentExecutionSpecPosition.Y);
                executionOccurrenceSpecFinishPosition=new Point(currentExecutionSpecPosition.X,
                                                               currentExecutionSpecPosition.Y+currentExecutionSpecDimension.Height);

                executionOccurrenceSpecStartElement=
                        modelDocumentInterpreter.GetExecutionOccurrenceSpecElementForId(relevantInteraction.XmlRepresentation,
                                                                                   		currentExecutionOccurrenceSpecStartId);
                executionOccurrenceSpecFinishElement=
                        modelDocumentInterpreter.GetExecutionOccurrenceSpecElementForId(relevantInteraction.XmlRepresentation,
                                                                                   		currentExecutionOccurrenceSpecFinishId);

                executionOccurrenceSpecStart=new ExecutionOccurrenceSpecification(executionOccurrenceSpecStartPosition,
                                                                                  currentExecutionOccurrenceSpecStartId,
                                                                                  relevantInteraction.XmlRepresentation);
                executionOccurrenceSpecStart.CoveredLifeline=currentExecutionSpec.CoveredLifeline;
                executionOccurrenceSpecStart.Position=executionOccurrenceSpecStartPosition;
                executionOccurrenceSpecStart.SpecificationKind= ExecutionOccurrenceSpecKind.START;

                executionOccurrenceSpecFinish=new ExecutionOccurrenceSpecification(executionOccurrenceSpecFinishPosition,
                                                                                       currentExecutionOccurrenceSpecFinishId,
                                                                                       relevantInteraction.XmlRepresentation);
                executionOccurrenceSpecFinish.CoveredLifeline=currentExecutionSpec.CoveredLifeline;
                executionOccurrenceSpecFinish.Position=executionOccurrenceSpecFinishPosition;
                executionOccurrenceSpecFinish.SpecificationKind= ExecutionOccurrenceSpecKind.FINISH;

                relevantInteraction.ExecutionOccurrenceSpecs.Add(executionOccurrenceSpecStart);
                relevantInteraction.ExecutionOccurrenceSpecs.Add(executionOccurrenceSpecFinish);
            }
        }