Subarreglos de elementos idénticos

Crea una función que reciba un arreglo bidimensional y devuelva la cantidad de sub-arrays cuyos elementos son todos iguales.

Ejemplos

Program.countIdentical(new Object[][]{
  {1},
  {2},
  {3},
  {4}
}); // 4

// Los arreglos de un solo elemento también cuentan como arreglos cuyos elementos son idénticos.

Program.countIdentical(new Object[][]{
  {1, 2},
  {2, 3},
  {3, 4},
  {4, 4}
}); // 1

Program.countIdentical(new Object[][]{
  {33, 33},
  {5},
  {"a", "a"},
  {2, 2, 2},
  {1, 2, 2},
  {3, 1}
}); // 4

Program.countIdentical(new Object[][]{
  {"@", "@", "@", "@"},
  {2, 3}, {3, 4}, {4, 4}
}); // 2

Notas

Los arreglos de un solo elemento se consideran, por definición, formados por elementos idénticos.