public boolean check(int[] data) {
        if (data == null || data.length == 0) {
            return false;
        }
        for (int i = 0, len = data.length; i < len - 1; i++) {
            if (data[i] == FIRST_VALUE && data[i + 1] == SECOND_VALUE
                    || data[i + 1] == FIRST_VALUE && data[i] == SECOND_VALUE) {
                return false;
            }
            if (i + 1 == BAD_INDEX && data[i] == BAD_VALUE) {
                return false;
            }
        }
        return true;
    }