public class org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel implements java.nio.channels.ReadableByteChannel
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel
  super_class: java.lang.Object
{
  private final org.apache.cassandra.io.util.ChannelProxy channelProxy;
    descriptor: Lorg/apache/cassandra/io/util/ChannelProxy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile long currentPosition;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  public void <init>(org.apache.cassandra.io.util.ChannelProxy, long);
    descriptor: (Lorg/apache/cassandra/io/util/ChannelProxy;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel this
        start local 1 // org.apache.cassandra.io.util.ChannelProxy channelProxy
        start local 2 // long currentPosition
         0: .line 287
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 289
            aload 0 /* this */
            aload 1 /* channelProxy */
            putfield org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel.channelProxy:Lorg/apache/cassandra/io/util/ChannelProxy;
         2: .line 290
            aload 0 /* this */
            lload 2 /* currentPosition */
            putfield org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel.currentPosition:J
         3: .line 291
            return
        end local 2 // long currentPosition
        end local 1 // org.apache.cassandra.io.util.ChannelProxy channelProxy
        end local 0 // org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/apache/cassandra/security/EncryptionUtils$ChannelProxyReadChannel;
            0    4     1     channelProxy  Lorg/apache/cassandra/io/util/ChannelProxy;
            0    4     2  currentPosition  J
    MethodParameters:
                 Name  Flags
      channelProxy     
      currentPosition  

  public int read(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel this
        start local 1 // java.nio.ByteBuffer dst
         0: .line 295
            aload 0 /* this */
            getfield org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel.channelProxy:Lorg/apache/cassandra/io/util/ChannelProxy;
            aload 1 /* dst */
            aload 0 /* this */
            getfield org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel.currentPosition:J
            invokevirtual org.apache.cassandra.io.util.ChannelProxy.read:(Ljava/nio/ByteBuffer;J)I
            istore 2 /* bytesRead */
        start local 2 // int bytesRead
         1: .line 296
            aload 1 /* dst */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
         2: .line 297
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel.currentPosition:J
            iload 2 /* bytesRead */
            i2l
            ladd
            putfield org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel.currentPosition:J
         3: .line 298
            iload 2 /* bytesRead */
            ireturn
        end local 2 // int bytesRead
        end local 1 // java.nio.ByteBuffer dst
        end local 0 // org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/apache/cassandra/security/EncryptionUtils$ChannelProxyReadChannel;
            0    4     1        dst  Ljava/nio/ByteBuffer;
            1    4     2  bytesRead  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      dst   

  public long getCurrentPosition();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel this
         0: .line 303
            aload 0 /* this */
            getfield org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel.currentPosition:J
            lreturn
        end local 0 // org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/security/EncryptionUtils$ChannelProxyReadChannel;

  public boolean isOpen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel this
         0: .line 308
            aload 0 /* this */
            getfield org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel.channelProxy:Lorg/apache/cassandra/io/util/ChannelProxy;
            invokevirtual org.apache.cassandra.io.util.ChannelProxy.isCleanedUp:()Z
            ireturn
        end local 0 // org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/security/EncryptionUtils$ChannelProxyReadChannel;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel this
         0: .line 314
            return
        end local 0 // org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/security/EncryptionUtils$ChannelProxyReadChannel;

  public void setPosition(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel this
        start local 1 // long sourcePosition
         0: .line 318
            aload 0 /* this */
            lload 1 /* sourcePosition */
            putfield org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel.currentPosition:J
         1: .line 319
            return
        end local 1 // long sourcePosition
        end local 0 // org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/apache/cassandra/security/EncryptionUtils$ChannelProxyReadChannel;
            0    2     1  sourcePosition  J
    MethodParameters:
                Name  Flags
      sourcePosition  
}
SourceFile: "EncryptionUtils.java"
NestHost: org.apache.cassandra.security.EncryptionUtils
InnerClasses:
  public ChannelProxyReadChannel = org.apache.cassandra.security.EncryptionUtils$ChannelProxyReadChannel of org.apache.cassandra.security.EncryptionUtils