* Manage not empty constructors
* Manage objects
* Manage enums
* When an error occurs (exception or exist), we should, before "leaving", clean up all the variable (we could store all the current variable in the list to be able to retrieve them quickly)

* When returning an array of primitive types, we do :

jsize len = curEnv->GetArrayLength(res);
jboolean isCopy = JNI_TRUE;
jint *resultsArray = curEnv->GetIntArrayElements(res, &isCopy);
long * myArray=(long *)malloc(sizeof(long *)*len);
for (jsize i = 0; i < len; i++){
	myArray[i]=resultsArray[i];
}
return myArray;
There is probably a much better way to do it

*
Add the management of:
<method name="myfun2" returnType="ByteBuffer[]" modifier="static" />

        <method name="bar" returnType="void" modifier="static">
            <parameter name="data" type="DoubleBuffer[]"/>
        </method>

* in scinotes.cpp, this should be catched
jmethodID voidscinotesjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "scinotes", "(Ljava/lang/String;)V" ) ;

