public virtual void removeBattleListener(global::robocode.control.events.IBattleListener par0)
 {
     global::net.sf.jni4net.jni.JNIEnv @__env = this.Env;
     using (new global::net.sf.jni4net.jni.LocalFrame(@__env, 12)){
         @__env.CallVoidMethod(this, global::robocode.control.RobocodeEngine.j4n_removeBattleListener3, global::net.sf.jni4net.utils.Convertor.ParFullC2J <global::robocode.control.events.IBattleListener>(@__env, par0));
     }
 }
 public RobocodeEngine(global::robocode.control.events.IBattleListener par0) :
     base(((global::net.sf.jni4net.jni.JNIEnv)(null)))
 {
     global::net.sf.jni4net.jni.JNIEnv @__env = global::net.sf.jni4net.jni.JNIEnv.ThreadEnv;
     using (new global::net.sf.jni4net.jni.LocalFrame(@__env, 12)){
         @__env.NewObject(global::robocode.control.RobocodeEngine.staticClass, global::robocode.control.RobocodeEngine.j4n__ctorRobocodeEngine18, this, global::net.sf.jni4net.utils.Convertor.ParFullC2J <global::robocode.control.events.IBattleListener>(@__env, par0));
     }
 }
 private static void onBattleError10(global::System.IntPtr @__envp, global::net.sf.jni4net.utils.JniLocalHandle @__obj, global::net.sf.jni4net.utils.JniLocalHandle par0)
 {
     // (Lrobocode/control/events/BattleErrorEvent;)V
     // (Lrobocode/control/events/BattleErrorEvent;)V
     global::net.sf.jni4net.jni.JNIEnv @__env = global::net.sf.jni4net.jni.JNIEnv.Wrap(@__envp);
     try {
         global::robocode.control.events.IBattleListener @__real = global::net.sf.jni4net.utils.Convertor.FullJ2C <global::robocode.control.events.IBattleListener>(@__env, @__obj);
         @__real.onBattleError(global::net.sf.jni4net.utils.Convertor.StrongJ2Cp <global::robocode.control.events.BattleErrorEvent>(@__env, par0));
     }catch (global::System.Exception __ex) { @__env.ThrowExisting(__ex); }
 }