implemented DefaultIfEmpty.