/// <summary>
 /// The assemble map.
 /// </summary>
 /// <param name="assembleInto">
 /// The assemble into.
 /// </param>
 /// <param name="assembleFrom">
 /// The assemble from.
 /// </param>
 public void AssembleMap(ItemSchemeMapType assembleInto, ISchemeMapObject assembleFrom)
 {
     // Populate it from inherited super
     this.AssembleNameable(assembleInto, assembleFrom);
     ItemSchemeReferenceBaseType sourceReference = this.CreateSourceReference(assembleInto);
     ItemSchemeReferenceBaseType targetReference = this.CreateTargetReference(assembleInto);
     ItemSchemeRefBaseType sourceRef = this.CreateRef(sourceReference);
     ItemSchemeRefBaseType targetRef = this.CreateRef(targetReference);
     this.SetReference(sourceRef, assembleFrom.SourceRef);
     this.SetReference(targetRef, assembleFrom.TargetRef);
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="SchemeMapMutableCore"/> class.
        /// </summary>
        /// <param name="objTarget">
        /// The obj target. 
        /// </param>
        public SchemeMapMutableCore(ISchemeMapObject objTarget)
            : base(objTarget)
        {
            if (objTarget.SourceRef != null)
            {
                this.sourceRef = objTarget.SourceRef.CreateMutableInstance();
            }

            if (objTarget.TargetRef != null)
            {
                this.targetRef = objTarget.TargetRef.CreateMutableInstance();
            }
        }