public static ToolHolder ToModel(this IToolHolderViewModel vm)
        {
            ToolHolder m = null;

            if (vm is StaticToolHolderViewModel svm)
            {
                var sm = new StaticToolHolder();
                UpdateModel(sm, svm);
                m = sm;
            }
            else if (vm is AutoSourceToolHolderViewModel asrcvm)
            {
                var am = new AutoSourceToolHolder();
                UpdateModel(am, asrcvm);
                m = am;
            }
            else if (vm is AutoSinkToolHolderViewModel asnkvm)
            {
                var am = new AutoSourceToolHolder();
                UpdateModel(am, asnkvm);
                m = am;
            }

            return(m);
        }
        public static IToolHolderViewModel ToViewModel(this IToolHolder model)
        {
            IToolHolderViewModel vm = null;

            if (model is StaticToolHolder sth)
            {
                var svm = new StaticToolHolderViewModel();
                UpdateViewModel(svm, sth);
                vm = svm;
            }
            else if (model is AutoSourceToolHolder asrcth)
            {
                var avm = new AutoSourceToolHolderViewModel();
                UpdateViewModel(avm, asrcth);
                vm = avm;
            }
            else if (model is AutoSinkToolHolder asnkth)
            {
                var avm = new AutoSourceToolHolderViewModel();
                UpdateViewModel(avm, asnkth);
                vm = avm;
            }

            return(vm);
        }