private static object ObjectCollectionExtractor(object MyRef, IVisitIObjectAttribute iioa)
        {
            INotifyCollectionChanged io = MyRef as INotifyCollectionChanged;
            if (io == null)
                return MyRef;

            if (iioa != null)
                iioa.Visit(io);

            return MyRef;
        }
        private static object ObjectAttributeExtractor(object MyRef, PropertyInfo myProperty, IVisitIObjectAttribute iioa, bool Isparameter)
        {
            IObjectAttribute io = MyRef as IObjectAttribute;
            if (io == null)
                return MyRef;

            if (iioa != null)
                iioa.Visit(io, myProperty, Isparameter);

            return MyRef;
        }