// IMPORTANT: This method is only for creating the Visual-Symbol parts of the representations.
        // Later, the appropriate interconnections should be added.
        public VisualRepresentation AppendClone(View TargetView, VisualRepresentation OriginalRepresentation,
                                                double DeltaX, double DeltaY)
        {
            var NewPosition = new Point(OriginalRepresentation.MainSymbol.BaseCenter.X + DeltaX,
                                        OriginalRepresentation.MainSymbol.BaseCenter.Y + DeltaY);
            VisualRepresentation Result = null;

            if (OriginalRepresentation is ConceptVisualRepresentation)
            {
                var OriginalConceptRep = OriginalRepresentation as ConceptVisualRepresentation;
                var ConceptRepCreation = ConceptCreationCommand.CreateConceptAndRepresentationCopy(OriginalConceptRep, TargetView, NewPosition);
                if (ConceptRepCreation == null || !ConceptRepCreation.WasSuccessful)
                {
                    Console.WriteLine("Cannot append new Concept. Problem: {0}", ConceptRepCreation.Message);
                    return(null);
                }

                Result = ConceptRepCreation.Result;
            }
            else
            {
                var OriginalRelationshipRep = OriginalRepresentation as RelationshipVisualRepresentation;
                var RelationshipRepCreation = RelationshipCreationCommand.CreateRelationshipAndRepresentationCopy(OriginalRelationshipRep, TargetView, NewPosition);
                if (RelationshipRepCreation == null || !RelationshipRepCreation.WasSuccessful)
                {
                    Console.WriteLine("Cannot append new Relationship. Problem: {0}", RelationshipRepCreation.Message);
                    return(null);
                }

                Result = RelationshipRepCreation.Result;
            }

            Result.RepresentedIdea.AddToComposite(TargetView.OwnerCompositeContainer);

            return(Result);
        }
        public VisualRepresentation AppendShortcut(View TargetView, Idea OriginalIdea, Point Position)
        {
            VisualRepresentation Result = null;

            if (OriginalIdea is Concept)
            {
                var RefConcept = (Concept)OriginalIdea;
                Result = ConceptCreationCommand.CreateConceptVisualRepresentation(RefConcept, TargetView, Position, true, true);
            }
            else
            {
                var RefRelationship = (Relationship)OriginalIdea;
                if (RefRelationship.RelationshipDefinitor.Value.IsSimple && RefRelationship.RelationshipDefinitor.Value.HideCentralSymbolWhenSimple)
                {
                    Console.WriteLine("Shortcut omitted for simple Relationship with its Symbol hidden.");
                }
                else
                {
                    Result = RelationshipCreationCommand.CreateRelationshipVisualRepresentation(RefRelationship, TargetView, Position, true);
                }
            }

            return(Result);
        }