private IProcessStepObject processStep; // Referenced from targetStep

        #endregion

        ///////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////BUILD FROM MUTABLE OBJECTS              //////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////////////////////////
        #region Constructors and Destructors

        /// <summary>
        /// Initializes a new instance of the <see cref="TransitionCore"/> class.
        /// </summary>
        /// <param name="itemMutableObject">
        /// The sdmxObject. 
        /// </param>
        /// <param name="parent">
        /// The parent. 
        /// </param>
        public TransitionCore(ITransitionMutableObject itemMutableObject, ISdmxStructure parent)
            : base(itemMutableObject, parent)
        {
            this.condition = new List<ITextTypeWrapper>();
            this.targetStep = itemMutableObject.TargetStep;
            if (itemMutableObject.Conditions != null)
            {
                foreach (ITextTypeWrapperMutableObject textTypeWrapperMutableObject in itemMutableObject.Conditions)
                {
                    if (!string.IsNullOrWhiteSpace(textTypeWrapperMutableObject.Value))
                    {
                        this.condition.Add(new TextTypeWrapperImpl(textTypeWrapperMutableObject, this));
                    }
                }
            }

            this.localId = itemMutableObject.LocalId;
            this.Validate();
        }
 /// <summary>
 /// The add transition.
 /// </summary>
 /// <param name="transition">
 /// The transition. 
 /// </param>
 public void AddTransition(ITransitionMutableObject transition)
 {
     this._transitions.Add(transition);
 }