/// <summary>
        /// Gets the occurrence items.
        /// </summary>
        private ScheduleOccurrence GetOccurrence()
        {
            DateTime? occurrenceDate = PageParameter( "Occurrence" ).AsDateTime();

            // If an occurrence date was not specified in query string, use the selected date
            if ( !occurrenceDate.HasValue &&
                Page.IsPostBack &&
                _allowAdd &&
                dpOccurrenceDate.SelectedDate.HasValue )
            {
                occurrenceDate = dpOccurrenceDate.SelectedDate;
            }

            if ( occurrenceDate.HasValue )
            {
                // Try to find the selected occurrence based on group's schedule
                if ( _group != null )
                {
                    lHeading.Text = _group.Name + " Attendance";

                    // Get all the occurrences for this group ( without loading attendance yet )
                    var occurrences = new ScheduleService( _rockContext )
                        .GetGroupOccurrences( _group, false )
                        .OrderBy( o => o.StartDateTime )
                        .ToList();

                    // If occurrences were found, loop through them looking for the selected occurrence
                    var occurrence = occurrences
                        .Where( o =>
                            occurrenceDate.Value >= o.StartDateTime &&
                            occurrenceDate.Value < o.EndDateTime )
                        .FirstOrDefault();

                    if ( occurrence != null )
                    {
                        return occurrence;
                    }
                }

                // If an occurrence date was included, but no occurrence was found with that date, and new
                // occurrences can be added, create a new one
                if ( _allowAdd )
                {
                    return new ScheduleOccurrence( occurrenceDate.Value, occurrenceDate.Value.Date.AddDays(1) );
                }
            }

            return null;
        }