This is horribly slow when entries is an ArrayList, because you have to shift every later cell down on each split.  Worse you are splitting everything in this particular case.

Make a newEntries that you add items you aren't going to break into, and that way you don't have to modify and shift down the existing entries array.