public static IEnumerable <Meeting> Filter(this IEnumerable <Meeting> meetings, NameValueCollection query)
        {
            query = query ?? new NameValueCollection();
            var filter = new MeetingsFilter(query);

            meetings = Filter(meetings, filter.Tags, x => x.Tags.Select(y => y.Name));
            meetings = Filter(meetings, filter.Organizers, x => x.Organizers.Select(y => y.Name));
            meetings = Filter(meetings, filter.Locations, x => new[] { x.City.Name });

            return(meetings);
        }
        public static IEnumerable<Meeting> Filter(this IEnumerable<Meeting> meetings, NameValueCollection query)
        {
            query = query ?? new NameValueCollection();
            var filter = new MeetingsFilter(query);

            meetings = Filter(meetings, filter.Tags, x => x.Tags.Select(y=>y.Name));
            meetings = Filter(meetings, filter.Organizers, x => x.Organizers.Select(y => y.Name));
            meetings = Filter(meetings, filter.Locations, x => new[]{x.City.Name});

            return meetings;
        }