Sometimes it is more efficent to simply read and dispose, rather than reissue multiple reads.
SemiSplit will attept to inject additional values to make more consecutive reads At the moment it is hardcoded to use a vector but this will change in future