public void release() throws InterruptedException {
  final IBufferAccess tmp=m_data.get();
  if (tmp == null) {
    return;
  }
  if (m_data.compareAndSet(tmp,null)) {
    tmp.release();
  }
}

public void release ( ) throws InterruptedException { final IBufferAccess tmp = m_data . get ( ) ; if ( tmp == null ) { return ; } if ( m_data . compareAndSet ( tmp , null ) ) { tmp . release ( ) ; } }
release the direct buffer associated with this object .
