Inheritance: Dev2.Studio.Core.ViewModels.Base.BaseViewModel
        public NavigationItemViewModel(string name,
                                       string iconPath,
                                       NavigationItemViewModelBase parent,
                                       object dataContext,
                                       bool isExpanded = false,
                                       bool isSelected = false,
                                       string activityFullName = null,
                                       bool isServerLevel = false,
                                       bool isCategory = false,
                                       IEnvironmentModel environment = null,
                                       Func<NavigationItemViewModelBase, bool> childCountPredicate = null,
                                       bool isChecked = false)
            : base(name, iconPath, parent, dataContext, isExpanded, isSelected, childCountPredicate, isChecked)
        {
            ActivityFullName = activityFullName;
            IsServerLevel = isServerLevel;
            IsCategory = isCategory;
            EnvironmentModel = environment;
            DisplayName = name;

            _environmentConnectedMediatorKey = Mediator.RegisterToReceiveMessage(MediatorMessages.EnvironmentConnected,
                                                                                 a => RaisePropertyChangedForCommands());
            _environmentDisconnectedMediatorKey =
                Mediator.RegisterToReceiveMessage(MediatorMessages.EnvironmentDisconnected,
                                                  a => RaisePropertyChangedForCommands());
        }
        public NavigationItemViewModel(string name,
                                       string iconPath,
                                       NavigationItemViewModelBase parent,
                                       object dataContext,
                                       bool isExpanded               = false,
                                       bool isSelected               = false,
                                       string activityFullName       = null,
                                       bool isServerLevel            = false,
                                       bool isCategory               = false,
                                       IEnvironmentModel environment = null,
                                       Func <NavigationItemViewModelBase, bool> childCountPredicate = null,
                                       bool isChecked = false)
            : base(name, iconPath, parent, dataContext, isExpanded, isSelected, childCountPredicate, isChecked)
        {
            ActivityFullName = activityFullName;
            IsServerLevel    = isServerLevel;
            IsCategory       = isCategory;
            EnvironmentModel = environment;
            DisplayName      = name;

            _environmentConnectedMediatorKey = Mediator.RegisterToReceiveMessage(MediatorMessages.EnvironmentConnected,
                                                                                 a => RaisePropertyChangedForCommands());
            _environmentDisconnectedMediatorKey =
                Mediator.RegisterToReceiveMessage(MediatorMessages.EnvironmentDisconnected,
                                                  a => RaisePropertyChangedForCommands());
        }
        protected NavigationItemViewModelBase(string name,
                                              string iconPath,
                                              NavigationItemViewModelBase parent,
                                              object dataContext,
                                              bool isExpanded = false,
                                              bool isSelected = false,
                                              Func<NavigationItemViewModelBase, bool> childCountPredicate = null,
                                              bool isChecked = false)
        {
            _childCountPredicate = childCountPredicate;
            _children = new ObservableCollection<NavigationItemViewModelBase>();
            _dataContext = dataContext;

            Parent = parent;
            Name = name;
            IconPath = iconPath;
            IsSelected = isSelected;
            IsExpanded = isExpanded;
            IsChecked = isChecked;
        }
        protected NavigationItemViewModelBase(string name,
                                              string iconPath,
                                              NavigationItemViewModelBase parent,
                                              object dataContext,
                                              bool isExpanded = false,
                                              bool isSelected = false,
                                              Func <NavigationItemViewModelBase, bool> childCountPredicate = null,
                                              bool isChecked = false)
        {
            _childCountPredicate = childCountPredicate;
            _children            = new ObservableCollection <NavigationItemViewModelBase>();
            _dataContext         = dataContext;

            Parent     = parent;
            Name       = name;
            IconPath   = iconPath;
            IsSelected = isSelected;
            IsExpanded = isExpanded;
            IsChecked  = isChecked;
        }