How do you do that? BeginRead asks for the number of bytes to read. Does it automatically stop reading if there are no more?