public static DirectionType findDirectionOfEmptyAdjacentSquare(Square[][] level, Square square) {
        int height = level.length == 0 ? 0 : level[0].length;
        int width = level.length;
        if (!level[square.x][square.y == 0 ? height - 1 : square.y - 1].isSolidBlock()) {
            return DirectionType.North;
        }
        if (!level[square.x == width - 1 ? 0 : square.x + 1][square.y].isSolidBlock()) {
            return DirectionType.East;
        }
        if (!level[square.x][square.y == height - 1 ? 0 : square.y + 1].isSolidBlock()) {
            return DirectionType.South;
        }
        if (!level[square.x == 0 ? width - 1 : square.x - 1][square.y].isSolidBlock()) {
            return DirectionType.West;
        }

        EobLogger.println(String.format("[ERROR] Square on position [%d, %d] haven't adjacent empty square!", square.x, square.y));
        return null;
    }