it was just directly copied from RemoteBlockInStream. I do not think there is a particular reason. But i'd prefer not to changing any logic here in this PR since it is a direct copy from RemoteBlockInStream