Verificar se uma idade está entre um intervalo mínimo e máximo

Tenho 3 variáveis do tipo Integer: idade, idadeMinima, idadeMaxima.

Preciso verificar se a idade está entre as idadeMinima e idadeMaxima informadas. Caso:

  • Caso idadeMinima == null, preciso validar apenas a idadeMaxima da idade
  • Caso idadeMaxima == null, preciso validar apenas a idadeMinima da idade
  • Caso as duas != null, devo validar entre as duas.

Até o momento fiz dessa forma:

    if (idadeMinima != null && idadeMaxima != null) {
        if (idade.compareTo(idadeMinima) < 0 || idade.compareTo(idadeMaxima) > 0) {
            System.out.println("O cliente deve ter entre "+ idadeMinima  + " a " + idadeMaxima + " anos!");
        }
    } else if (idadeMinima  != null) {
        if (idade.compareTo(idadeMinima) < 0) {
            System.out.println("O cliente precisa ter mais do que " + idadeMinima + " anos!");
        }
    } else if (idadeMaxima != null) {
        if (idade.compareTo(idadeMaxima) > 0) {
            System.out.println("O cliente não pode possuir mais do que " + idadeMaxima + " anos!");
        }
    }

Gostaria de saber se existe alguma forma mais “sofisticada” e/ou performática de fazer estas verificações, talvez diminuir linhas de código.

Obrigado.