public override IEnumerable <SongMeaningsNode> GetChildren()
        {
            int startIndex;

            if (_tryResumeSearch)
            {
                startIndex = GetSerializedStartIndex();
            }
            else
            {
                startIndex = DEFAULT_START_INDEX;
            }
            for (int i = startIndex; i < SongMeaningsNavigator.artistDirectoryHeadings.Length; i++)
            {
                _currentHeadingIndex = i;
                bool childShouldTryResumeSearch = (i == startIndex) && _tryResumeSearch; // First child should try and resume search
                var  artistDirectoryNode        = new ArtistDirectoryNode(SongMeaningsNavigator.artistDirectoryHeadings[i], childShouldTryResumeSearch);
                yield return(artistDirectoryNode);
            }
        }
 public override IEnumerable<SongMeaningsNode> GetChildren()
 {
     int startIndex;
     if (_tryResumeSearch)
     {
         startIndex = GetSerializedStartIndex();
     }
     else
     {
         startIndex = DEFAULT_START_INDEX;
     }
     for(int i = startIndex; i < SongMeaningsNavigator.artistDirectoryHeadings.Length; i++)
     {
         _currentHeadingIndex = i;
         bool childShouldTryResumeSearch = (i == startIndex) && _tryResumeSearch; // First child should try and resume search
         var artistDirectoryNode = new ArtistDirectoryNode(SongMeaningsNavigator.artistDirectoryHeadings[i], childShouldTryResumeSearch);
         yield return artistDirectoryNode;
     }
 }