public static IEnumerable SelectNullable <T>(this NullAllowed <T> nullable,
                                                     Func <T, IEnumerable> selector)
            where T : class
        {
            Contract.Requires(selector != null);

            return(nullable.Select(selector).AllowNull());
        }
        public static ICollection <TResult> SelectNullable <T, TResult>(this NullAllowed <T> nullable,
                                                                        Func <T, ICollection <TResult> > selector)
            where T : class
        {
            Contract.Requires(selector != null);

            return(nullable.Select(selector).AllowNull());
        }