public IEnumerable <string[]> Read(Stream source)
        {
            IEnumerable <string[]> rows = csvReader.ReadRows(source);

            if (!rows.Any())
            {
                return(rows);
            }

            var columnCount = rows.First().Length;

            return(GetRows(rows, columnCount));
        }
        public IEnumerable <string[]> ReadRows(Stream source)
        {
            var enumerable = expensiveReader.ReadRows(source);

            return(Smartnumerable.Create <string[]>(enumerable));
        }