public override ActionResult ApplyActionTo(StringBuilder sb)
        {
            if (AdditionPoint == AdditionPoint.EndOfParent)
            {
                IBaseConstruct lastSibling = ClassToAddTo.WalkChildren().OfType <Function>()
                                             .OrderBy(bc => bc.TextRange.EndOffset).LastOrDefault();

                ClassToAddTo.AddChild(FunctionToAdd);

                return(InsertAtEndOfParent(sb, lastSibling));
            }

            return(new ActionResult());
        }
        public override ActionResult ApplyActionTo(StringBuilder sb)
        {
            if (AdditionPoint == AdditionPoint.EndOfParent)
            {
                IBaseConstruct lastSibling = ClassToAddTo.WalkChildren().OfType <Property>()
                                             .OrderBy(bc => bc.TextRange.EndOffset).LastOrDefault();

                ClassToAddTo.Properties.Add(PropertyToAdd);

                var result = InsertAtEndOfParent(sb, lastSibling);

                if (PropertyToAdd.GetAccessor != null)
                {
                    result.ConstructsChanged.Add(PropertyToAdd.GetAccessor);
                }
                if (PropertyToAdd.SetAccessor != null)
                {
                    result.ConstructsChanged.Add(PropertyToAdd.SetAccessor);
                }
                return(result);
            }

            return(new ActionResult());
        }