private void DoTime(Rect rect)
        {
            var labelRect = rect;

            labelRect.height = 25;
            Widgets.Label(labelRect, I18n.Translate("EditReminder.ReminderTime"));

            var radioRect = labelRect;

            radioRect.y      = labelRect.yMax;
            radioRect.height = 30;
            radioRect.width  = 24f + 20f + absTextLength;

            if (FWidgets.RadioButtonLabeled(radioRect, I18n.Translate(TimeRepresentation.Absolute.ToString()), selectedTimeRep == TimeRepresentation.Absolute))
            {
                if (selectedTimeRep != TimeRepresentation.Absolute && fireOnTick != 0)
                {
                    UpdateAbsoluteFieldsFromTicks(fireOnTick);
                }
                selectedTimeRep = TimeRepresentation.Absolute;
            }

            radioRect.x     = radioRect.xMax + 20f;
            radioRect.width = 24f + 20f + relTextLength;

            if (FWidgets.RadioButtonLabeled(radioRect, I18n.Translate(TimeRepresentation.Relative.ToString()), selectedTimeRep == TimeRepresentation.Relative))
            {
                if (selectedTimeRep != TimeRepresentation.Relative && fireOnTick != 0)
                {
                    UpdateRelativeFieldsFromTicks(fireOnTick);
                }
                selectedTimeRep = TimeRepresentation.Relative;
            }

            radioRect.x     = radioRect.xMax + 20f;
            radioRect.width = 100f;
            bool nextLoadRadioSelected = FWidgets.RadioButtonLabeled(radioRect, I18n.Translate("Reminder.NextLoad"), selectedTimeRep == TimeRepresentation.NextLoad);

            if (nextLoadRadioSelected)
            {
                selectedTimeRep = TimeRepresentation.NextLoad;
            }
            nextLoad = selectedTimeRep == TimeRepresentation.NextLoad;

            var timeInputRect = new Rect(labelRect.x, radioRect.yMax + 5, rect.width, 30f);

            switch (selectedTimeRep)
            {
            case TimeRepresentation.Absolute:
                DoAbsoluteTime(timeInputRect);
                break;

            case TimeRepresentation.Relative:
                DoRelativeTime(timeInputRect);
                break;
            }
        }