When the Wire.requestFrom() returns, the I2C transaction has completely finished and the received data is waiting in a buffer in the Wire library. There is no need to wait for something.
You can remove all the while(Wire.available() == 0); in the file "PUREmodules/Arduino/HardwareTest/Si1153_demo/Si1153_demo.ino".
Explanation: Common-mistakes#1