Валидатор ругается на метод 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();
            }
        }
}