/// <summary>
    /// Creates a new object that is a copy of the current instance.
    /// </summary>
    /// <returns>A new object that is a copy of this instance.</returns>
    public override object Clone()
    {
        MonthIntervalCalendar clone = (MonthIntervalCalendar)base.Clone();

        clone._interval = _interval;
        clone._startAt  = _startAt;
        return(clone);
    }
    public bool Equals(MonthIntervalCalendar obj)
    {
        if (obj == null)
        {
            return(false);
        }
        bool baseEqual = GetBaseCalendar() == null || GetBaseCalendar().Equals(obj.GetBaseCalendar());

        return(baseEqual && obj._startAt.Equals(_startAt) && obj._interval.Equals(_interval));
    }