Comprimento de um array aninhado

O campo .length de um array retorna a quantidade de elementos que ele contém. Por exemplo, o array abaixo contém 2 elementos:

new Object[]{1, new Object[]{2, 3}}
// 2 elementos: o número 1 e o array new Object[]{2, 3}

Suponha que queremos saber a quantidade total de elementos não aninhados do array. No exemplo acima, new Object[]{1, new Object[]{2, 3}} contém 3 elementos não aninhados: 1, 2 e 3.

Escreva um método que retorne a quantidade total de elementos não aninhados de um array aninhado.

Exemplos

Program.getLength(new Object[]{1, new Object[]{2, 3}}) ➞ 3

Program.getLength(new Object[]{1, new Object[]{2, new Object[]{3, 4}}}) ➞ 4

Program.getLength(new Object[]{1, new Object[]{2, new Object[]{3, new Object[]{4, new Object[]{5, 6}}}}}) ➞ 6

Program.getLength(new Object[]{1, new Object[]{2}, 1, new Object[]{2}, 1}) ➞ 5

Notas

Um array vazio deve retornar 0.