Too many calls to ```TarArchiveStream.close``` on the successful code path, not guaranteed to call on the exceptional path, and ```TarArchiveStream.closeArchiveEntry``` not called when ```!file.isDirectory```.  Otherwise the ```ByteSource``` change is a good improvement.