Should check if stream.CanSeek = true here up front.