Всем привет! Задачка не отсюда. Есть задача. Дан двухмерный массив. Заполнен значениями true или false. Необходимо проверить одинаковы ли элементы лежащие на диагонали. Написал код. Вроде работает, но в одном случае получается не тот результат. Что я делаю не так?
package ru.myproj.array;

/**
 * Created by vicba on 31.07.2018.
 */
public class MatrixCheck {
    public boolean mono(boolean[][] data) {
        boolean result = true;
        int index = data.length;
            for (int i = 0; i < index; i++) {
                    if (!(data[i][i] == data[index - 1][index - 1]) || !(data[index - i - 1][i] == data[0][index - 1]))  {
                        result = false;
                        break;
                    }
            }
        return result;
    }
}
Если входной массив
boolean[][] input = {
                {true, true, false},
                {false, false, true},
                {false, false, false}
        };
то по идее на побочной диагонали элементы одинаковые, но прога выдает false. Помогите разобраться пожалуйста.