Inheritance: Microsoft.Zing.ZingerSchedulerState
 public override ZingerSchedulerState Clone(bool isCloneForFrontier)
 {
     CustomDBSchedulerState cloned = new CustomDBSchedulerState(this);
     if (isCloneForFrontier)
     {
         cloned.EnabledProcessesWithPriority = new Dictionary<int, int>();
         foreach (var item in EnabledProcessesWithPriority)
         {
             cloned.EnabledProcessesWithPriority.Add(item.Key, item.Value);
         }
         cloned.sortedProcesses = new List<int>();
         foreach (var item in sortedProcesses)
         {
             cloned.sortedProcesses.Add(item);
         }
     }
     return cloned;
 }
 public CustomDBSchedulerState(CustomDBSchedulerState copyThis)
     : base(copyThis)
 {
     randGen = copyThis.randGen;
     PriorityMap = new Dictionary<int, int>();
     foreach (var item in copyThis.PriorityMap)
     {
         PriorityMap.Add(item.Key, item.Value);
     }
     EnabledProcessesWithPriority = new Dictionary<int, int>();
     foreach (var item in copyThis.EnabledProcessesWithPriority)
     {
         EnabledProcessesWithPriority.Add(item.Key, item.Value);
     }
     sortedProcesses = new List<int>();
     foreach (var item in EnabledProcessesWithPriority.OrderBy(i => i.Value))
     {
         sortedProcesses.Add(item.Key);
     }
 }