Вы абсолютно правы))) яблочки были отравлены... Но проблему я решил. Заключалась в не правильно составленном цикле.
Переделал на этот и сразу все прошло
public void move(Apple apple){
GameObject head = createNewHead();
if (head.x >= SnakeGame.WIDTH || head.y >= SnakeGame.HEIGHT || head.x < 0 || head.y < 0) {isAlive = false;}
else if (head.x == apple.x && head.y == apple.y) {
apple.isAlive = false;
snakeParts.add(0, head);}
else {
if (checkCollision(head)) {
isAlive = false;
return; }
snakeParts.add(0, head);
removeTail(); }
}