As I commented in the other part of this commit, we don't have to create a copy here.  We should defer a copy operation as much as possible because no more data could be read since the last slice()/duplicate().