/// <inheritdoc/>
        public override bool Equals(object obj)
        {
            var o = obj as RuledInterpretation;

            if (o == null)
            {
                return(false);
            }

            return(FeatureKey.Equals(o.FeatureKey) && Interpretation.Equals(o.Interpretation));
        }
        private FeatureCover getMatchingCover(string question, FeatureKey key)
        {
            var parsedQuestion = UtteranceParser.Parse(question);

            foreach (var cover in FeatureCover.GetFeatureCovers(parsedQuestion, Graph))
            {
                if (key.Equals(cover.FeatureKey))
                {
                    return(cover);
                }
            }

            return(null);
        }