¿Es posible escribir un método genérico +1 para tipos de cuadro numérico en Java?

Esto NO es tarea.

Parte 1

¿Es posible escribir un método genérico, algo como esto:

<T extends Number> T plusOne(T num) {
    return num + 1; // DOESN'T COMPILE! How to fix???
}

A falta de usar un montón deinstanceof y moldes, ¿es esto posible?

Parte 2

Los siguientes 3 métodos compilan:

Integer plusOne(Integer num) {
    return num + 1;
}   
Double plusOne(Double num) {
    return num + 1;
}
Long plusOne(Long num) {
    return num + 1;
}

¿Es posible escribir una versión genérica que enlazaT solo aInteger, DoubleoLong?

Respuestas a la pregunta(7)

Su respuesta a la pregunta