If preload==true, it sends a message and in handleMessages() it calls this method again and if preload is still true, it will send the message again. This means before preload becomes false, it may send this message several times, and if something wrong with preload variable, this method becomes a infinite loop.