private void FeatureFilesTrackerOnFeatureFileRemoved(FeatureFileInfo featureFileInfo)
        {
            List <IStepSuggestion <Completion> > stepSuggestions;

            if (fileSuggestions.TryGetValue(featureFileInfo, out stepSuggestions))
            {
                stepSuggestions.ForEach(RemoveStepSuggestion);
                fileSuggestions.Remove(featureFileInfo);
            }
        }
        private void FeatureFilesTrackerOnFeatureFileUpdated(FeatureFileInfo featureFileInfo)
        {
            List <IStepSuggestion <Completion> > stepSuggestions;

            if (fileSuggestions.TryGetValue(featureFileInfo, out stepSuggestions))
            {
                stepSuggestions.ForEach(RemoveStepSuggestion);
                stepSuggestions.Clear();
            }
            else
            {
                stepSuggestions = new List <IStepSuggestion <Completion> >();
                fileSuggestions.Add(featureFileInfo, stepSuggestions);
            }

            if (featureFileInfo.ParsedFeature != null)
            {
                stepSuggestions.AddRange(GetStepSuggestions(featureFileInfo.ParsedFeature));
                stepSuggestions.ForEach(AddStepSuggestion);
            }
        }