以下のコードをSWIG3を使用してclass Foo を Javaで使用できるようにしたいとしています。
元のC++コードは以下のようになっています。
C++側のコードは変更することはできないとします。

class Foo {
 public:
   static Foo* getFoo(return &_Foo;}
   /* some method */
 };
 static Foo _Foo;

これをJavaで

 Foo _foo = Foo.getFoo();

とします。
SWIG3はそのまま_Fooをreturnするコードを出力しますが、
にしてもclass FooはJavaのObjectから継承されていないので
Exceptionになります。

 java.lang.Error: Unresolved compilation problems: 
    The type java.lang.Object cannot be resolved.

ではSWIGにたよらず自力でJNIを作成するとしても
すでにstaticなオブジェクトがあるわけですから、JNIEnv::NewObject()で新規オブジェクトを
つくることもできません。
staticですからガーベジコレクション時の挙動も謎です。

どのようにしてstaticオブジェクトを返せば良いのでしょうか?
やはり、不可能なのでしょうか。