@Override public void run(){
  long overlapped=0L;
  try {
    begin();
    try {
      channel.begin();
synchronized (result) {
        overlapped=ioCache.add(result);
        int n=accept0(handle,channel.handle(),overlapped,dataBuffer);
        if (n == IOStatus.UNAVAILABLE) {
          return;
        }
        finishAccept();
        enableAccept();
        result.setResult(channel);
      }
    }
  finally {
      channel.end();
    }
  }
 catch (  Throwable x) {
    if (overlapped != 0L)     ioCache.remove(overlapped);
    closeChildChannel();
    if (x instanceof ClosedChannelException)     x=new AsynchronousCloseException();
    if (!(x instanceof IOException) && !(x instanceof SecurityException))     x=new IOException(x);
    enableAccept();
    result.setFailure(x);
  }
 finally {
    end();
  }
  if (result.isCancelled()) {
    closeChildChannel();
  }
  Invoker.invokeIndirectly(result);
}

@ Override public void run ( ) { long overlapped = 0L ; try { begin ( ) ; try { channel . begin ( ) ; synchronized ( result ) { overlapped = ioCache . add ( result ) ; int n = accept0 ( handle , channel . handle ( ) , overlapped , dataBuffer ) ; if ( n == IOStatus . UNAVAILABLE ) { return ; } finishAccept ( ) ; enableAccept ( ) ; result . setResult ( channel ) ; } } finally { channel . end ( ) ; } } catch ( Throwable x ) { if ( overlapped != 0L ) ioCache . remove ( overlapped ) ; closeChildChannel ( ) ; if ( x instanceof ClosedChannelException ) x = new AsynchronousCloseException ( ) ; if ( ! ( x instanceof IOException ) && ! ( x instanceof SecurityException ) ) x = new IOException ( x ) ; enableAccept ( ) ; result . setFailure ( x ) ; } finally { end ( ) ; } if ( result . isCancelled ( ) ) { closeChildChannel ( ) ; } Invoker . invokeIndirectly ( result ) ; }
initiates the accept operation .
