///GENMHASH:CC99BC6F0FDDE008E581A6EB944FE764:2F561CD7250F8DA4909525E84A8A91F0
        public IReadOnlyList <Models.ScheduleEntry> ListPatchSchedules()
        {
            // for backward compatibility this method should return Null when there is no records for Patch Schedule
            RedisPatchScheduleImpl patchSchedule = this.patchSchedules.GetPatchSchedule();

            if (patchSchedule == null)
            {
                return(null);
            }
            return(patchSchedule.ScheduleEntries());
        }
        ///GENMHASH:C11AE4C223D196AB7A57470F94A0CDC6:8297A81A7146CC702F9E8049568353EE
        public RedisCacheImpl WithPatchSchedule(ScheduleEntry scheduleEntry)
        {
            RedisPatchScheduleImpl psch = null;

            if (!this.patchSchedules.PatchSchedulesAsMap().Any())
            {
                psch = this.patchSchedules.DefineInlinePatchSchedule();
                this.patchScheduleAdded    = true;
                psch.Inner.ScheduleEntries = new List <ScheduleEntryInner>();
                this.patchSchedules.AddPatchSchedule(psch);
            }
            else if (!this.patchScheduleAdded)
            {
                psch = this.patchSchedules.UpdateInlinePatchSchedule();
            }
            else
            {
                psch = this.patchSchedules.GetPatchSchedule();
            }
            psch.Inner.ScheduleEntries.Add(scheduleEntry.Inner);
            return(this);
        }