// Automatically generated by xmlvm2csharp (do not edit).

using org.xmlvm;
namespace java.nio.channels.spi {
public class AbstractInterruptibleChannel_22: global::java.lang.Object,global::java.lang.Runnable {
public global::java.nio.channels.spi.AbstractInterruptibleChannel _fthis_20;

public void @this(global::java.nio.channels.spi.AbstractInterruptibleChannel n1){
//XMLVM_BEGIN_WRAPPER[java.nio.channels.spi.AbstractInterruptibleChannel$2: void <init>(java.nio.channels.spi.AbstractInterruptibleChannel)]
    global::System.Object _r0_o = null;
    global::System.Object _r1_o = null;
    _r0_o = this;
    _r1_o = n1;
    ((global::java.nio.channels.spi.AbstractInterruptibleChannel_22) _r0_o)._fthis_20 = (global::java.nio.channels.spi.AbstractInterruptibleChannel) _r1_o;
    ((global::java.lang.Object) _r0_o).@this();
    return;
//XMLVM_END_WRAPPER[java.nio.channels.spi.AbstractInterruptibleChannel$2: void <init>(java.nio.channels.spi.AbstractInterruptibleChannel)]
}

public virtual void run(){
//XMLVM_BEGIN_WRAPPER[java.nio.channels.spi.AbstractInterruptibleChannel$2: void run()]
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nExceptionAdapter _ex = null;
    _r2_o = this;
    try {
    _r0_o = ((global::java.nio.channels.spi.AbstractInterruptibleChannel_22) _r2_o)._fthis_20;
    _r1.i = 1;
    ((global::java.nio.channels.spi.AbstractInterruptibleChannel) _r0_o)._finterrupted = 0!=_r1.i;
    _r0_o = ((global::java.nio.channels.spi.AbstractInterruptibleChannel_22) _r2_o)._fthis_20;
    ((global::java.nio.channels.spi.AbstractInterruptibleChannel) _r0_o).close();
    }
    catch (global::System.Exception e) {
 global::org.xmlvm._nExceptionAdapter ex = e as global::org.xmlvm._nExceptionAdapter ?? new global::org.xmlvm._nExceptionAdapter(e.ToString(), e.ToJavaException());
        global::System.Object _java_exception = ex.getJavaException();
        if (_java_exception is global::java.io.IOException) {
            _ex = ex;
            goto label11;
        }
        throw ex;
    } // end catch
    label10:;
    return;
    label11:;
    _r0_o = _ex.getJavaException();
    _ex = null;
    goto label10;
//XMLVM_END_WRAPPER[java.nio.channels.spi.AbstractInterruptibleChannel$2: void run()]
}

//XMLVM_BEGIN_WRAPPER[java.nio.channels.spi.AbstractInterruptibleChannel$2]
//XMLVM_END_WRAPPER[java.nio.channels.spi.AbstractInterruptibleChannel$2]

} // end of class: AbstractInterruptibleChannel_22

} // end of namespace: java.nio.channels.spi
