Genéricos de Java y JNI

¿Es posible llamar a una función CPP nativa usando JNI que toma argumentos genéricos? Algo como lo siguiente:

public static native <T, U, V> T foo(U u, V v);

Y luego llámalo como:

//class Foo, class Bar, class Baz are already defined;
Foo f = foo(new Bar(), new Baz());

¿Alguien puede proporcionarme una muestra que realmente esté haciendo esto o algún tutorial en la red que haga esto? Estoy preguntando porque en mi función CPP JNI (llamada por JVM), recibo un error de enlace insatisfecho.

El código CPP sigue:

JNIEXPORT jobject JNICALL Java_Processor_process (JNIEnv *env, jclass processor_class, jobject obj1, jobject obj2)
{
    jclass bar_class = env->FindClass("Bar");
    jmethodID getFooMethod = env->GetMethodID(bar_class, "getFoo", "()Ljava/lang/Object;");
//getFoo() is defined as `public Foo getFoo();` in Bar.java
    return env->CallObjectMethod(obj1, getFooMethod);
}

EDITAR:

Lo intenté modificando el código pero ahora obtengo NoSuchMethodError:

Código Java:

public static native <U, V> String foo(U u, V v);
//...
String str = foo(new Bar(), new Baz());

Código CPP:

JNIEXPORT jstring JNICALL Java_Processor_process (JNIEnv *env, jclass processor_class, jobject obj1, jobject obj2)
{
    jclass bar_class = env->FindClass("Bar");
    jmethodID getFooMethod = env->GetMethodID(bar_class, "getFoo", "()Ljava/lang/String;");
    //getFoo() is now defined as `public String getFoo();` in Bar.java
    return env->CallObjectMethod(obj1, getFooMethod);
}

¿Significa esto que JNI no tiene soporte para genéricos o me falta algo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta