/// <summary>
        /// Loads the bookmarks in the project
        /// </summary>
        /// <returns></returns>
        public async Task LoadBookmarks()
        {
            if (!_initialized)
            {
                //register for project events
                ArcGISProjectOpenedEvents.Unsubscribe(OnProjectOpened);
                ArcGISProjectCreatedEvents.Unsubscribe(OnProjectOpened);
                ArcGISProjectClosedEvents.Unsubscribe(OnProjectClosed);
                _initialized = true;
            }
            IList <Bookmark> bmks = await ProjectModule.CurrentProject.LoadBookmarksAsync();

            if (bmks.Count() == 0)
            {
                bmks = await LoadBookmarksFromMapxAsync();
            }
            lock (_lockObject)
            {
                _listBookmark = new ObservableCollection <BookmarkItem>();
                foreach (var bmk in bmks)
                {
                    _listBookmark.Add(new BookmarkItem(bmk));
                }
            }
            this.NotifyPropertyChanged(new PropertyChangedEventArgs("Cities"));
            this.NotifyPropertyChanged(new PropertyChangedEventArgs("HasBookmarksLoaded"));
        }
        ///<summary>
        /// Performs initialization when dock pane is opened.
        ///</summary>
        protected async Task Initialize()
        {
            await base.InitializeAsync();

            ArcGISProjectOpenedEvents.Subscribe(OnProjectOpened);
            ArcGISProjectCreatedEvents.Subscribe(OnProjectOpened);
            ArcGISProjectClosedEvents.Subscribe(OnProjectClosed);
            OnProjectOpened(null);
            _initialized = true;
        }