Wire.onReceive(hadler) terminated only one time

This is not a problem, the problem is in the following:
Handler function terminates only one time if I use:
while (Wire.available() > 1)
Why this function does not call again in this case ?
Should I read all data from the Wire buffer before the next call of the Handler function ?
If yes - why ?