Валидатор ругается на метод move(Apple) в классе Snake. Требует вызова проверки checkCollision(GameObject) перед добавлением новой головы в список. Пытался эту проверку вставить в разные места метода move(Apple): и в проверку условий, что новая голова не выходит за границы поля и непосредственно перед "snakeParts.add(0, newHead);". Во всех случаях валидатор не пропускает. Прошу помочь.
//метод логики движения змейки
public void move(Apple apple){
GameObject newHead = createNewHead();
if (checkCollision(newHead)){
isAlive = false;
return;
}
if (newHead.x < 0 | newHead.x > SnakeGame.WIDTH-1 | newHead.y < 0 | newHead.y > SnakeGame.HEIGHT-1){
isAlive = false;
} else {
snakeParts.add(0, newHead);
if (newHead.x == apple.x && newHead.y == apple.y){
apple.isAlive = false;
} else {
removeTail();
}
}
}