public virtual bool Completed() { bool c = _scheduled.IsEmpty(); if (c) { return(true); } else { int size = _scheduled.size; int count = 0; for (int i = _scheduled.size - 1; i > -1; i--) { Interval u = _scheduled.Get(i); if (u != null && u.Completed()) { count++; } } c = (count >= size); } return(c); }