/// <summary>
            /// Ermittelt den nächsten zu bearbeitenden Eintrag.
            /// </summary>
            /// <returns>Gesetzt, wenn ein solcher Eintrag existiert.</returns>
            public bool MoveNext()
            {
                // Advance the recording we reported on the previous iteration
                if (Current != null)
                {
                    // Advance
                    Current.MoveNext();

                    // Did it all
                    if (Current.Current == null)
                        m_Items.RemoveAt( m_CurrentIndex );

                    // Reset
                    Current = null;
                }

                // We are done
                if (m_Items.Count < 1)
                    return false;

                // Reset
                m_CurrentIndex = 0;

                // Locate the earliest schedule
                for (int i = 1, imax = m_Items.Count; i < imax; i++)
                    if (m_Items[i].Current.Planned.Start < m_Items[m_CurrentIndex].Current.Planned.Start)
                        m_CurrentIndex = i;

                // Remember
                Current = m_Items[m_CurrentIndex];

                // Report
                return true;
            }
            /// <summary>
            /// Ermittelt den nächsten zu bearbeitenden Eintrag.
            /// </summary>
            /// <returns>Gesetzt, wenn ein solcher Eintrag existiert.</returns>
            public bool MoveNext()
            {
                // Advance the recording we reported on the previous iteration
                if (Current != null)
                {
                    // Advance
                    Current.MoveNext();

                    // Did it all
                    if (Current.Current == null)
                    {
                        m_Items.RemoveAt(m_CurrentIndex);
                    }

                    // Reset
                    Current = null;
                }

                // We are done
                if (m_Items.Count < 1)
                {
                    return(false);
                }

                // Reset
                m_CurrentIndex = 0;

                // Locate the earliest schedule
                for (int i = 1, imax = m_Items.Count; i < imax; i++)
                {
                    if (m_Items[i].Current.Planned.Start < m_Items[m_CurrentIndex].Current.Planned.Start)
                    {
                        m_CurrentIndex = i;
                    }
                }

                // Remember
                Current = m_Items[m_CurrentIndex];

                // Report
                return(true);
            }