public static string GetStringValue(this RareFunction rareFunction)
        {
            switch (rareFunction)
            {
            case RareFunction.Rare:
                return("rare");

            case RareFunction.FreqRare:
                return("freq_rare");

            default:
                throw new ArgumentOutOfRangeException(nameof(rareFunction), rareFunction, null);
            }
        }
 public RareDetectorDescriptor(RareFunction function) : base(function.GetStringValue())
 {
 }
 protected RareDetectorBase(RareFunction function) : base(function.GetStringValue())
 {
 }