/// <summary>
 /// Constructor of the copy.
 /// </summary>
 /// <param name="source">Instance of <see cref="SequenceFlowElement"/>.</param>
 /// <param name="dictToRebind">Dictionary to rebind schema elements' ids.</param>
 /// <param name="parentSchema">Parent campaign schema.</param>
 public SequenceFlowElement(SequenceFlowElement source, Dictionary <Guid, Guid> dictToRebind,
                            Core.Campaign.CampaignSchema parentSchema) : base(source, dictToRebind, parentSchema)
 {
     if (dictToRebind == null)
     {
         _sourceRefUId = source.SourceRefUId;
         _targetRefUId = source.TargetRefUId;
     }
     else
     {
         _sourceRefUId           = dictToRebind[source.SourceRefUId];
         _targetRefUId           = dictToRebind[source.TargetRefUId];
         _isSourceRefInitialized = false;
         _isTargetRefInitialized = false;
     }
     FlowType    = source.FlowType;
     StrokeColor = source.StrokeColor;
     VisualType  = source.VisualType;
     SourceSequenceFlowPointLocalPosition = source.SourceSequenceFlowPointLocalPosition;
     TargetSequenceFlowPointLocalPosition = source.TargetSequenceFlowPointLocalPosition;
     CurveCenterPosition     = source.CurveCenterPosition;
     IsSynchronous           = source.IsSynchronous;
     Priority                = source.Priority;
     StepCompletedCondition  = source.StepCompletedCondition;
     _polylinePointPositions = new Collection <Point>(source.PolylinePointPositions);
 }
 /// <summary>
 /// Constructor of the clone.
 /// </summary>
 /// <param name="source">Instance of <see cref="SequenceFlowElement"/>.</param>
 public SequenceFlowElement(SequenceFlowElement source)
     : this(source, null, null)
 {
 }