public class io.vertx.ext.web.handler.impl.UserHolder implements io.vertx.core.shareddata.impl.ClusterSerializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.web.handler.impl.UserHolder
  super_class: java.lang.Object
{
  public io.vertx.ext.web.RoutingContext context;
    descriptor: Lio/vertx/ext/web/RoutingContext;
    flags: (0x0001) ACC_PUBLIC

  public io.vertx.ext.auth.User user;
    descriptor: Lio/vertx/ext/auth/User;
    flags: (0x0001) ACC_PUBLIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.web.handler.impl.UserHolder this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 39
            return
        end local 0 // io.vertx.ext.web.handler.impl.UserHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/web/handler/impl/UserHolder;

  public void <init>(io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/RoutingContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.web.handler.impl.UserHolder this
        start local 1 // io.vertx.ext.web.RoutingContext context
         0: .line 41
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 42
            aload 0 /* this */
            aload 1 /* context */
            putfield io.vertx.ext.web.handler.impl.UserHolder.context:Lio/vertx/ext/web/RoutingContext;
         2: .line 43
            return
        end local 1 // io.vertx.ext.web.RoutingContext context
        end local 0 // io.vertx.ext.web.handler.impl.UserHolder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/web/handler/impl/UserHolder;
            0    3     1  context  Lio/vertx/ext/web/RoutingContext;
    MethodParameters:
         Name  Flags
      context  

  public void writeToBuffer(io.vertx.core.buffer.Buffer);
    descriptor: (Lio/vertx/core/buffer/Buffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // io.vertx.ext.web.handler.impl.UserHolder this
        start local 1 // io.vertx.core.buffer.Buffer buffer
         0: .line 48
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.impl.UserHolder.context:Lio/vertx/ext/web/RoutingContext;
            ifnull 1
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.impl.UserHolder.context:Lio/vertx/ext/web/RoutingContext;
            invokeinterface io.vertx.ext.web.RoutingContext.user:()Lio/vertx/ext/auth/User;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield io.vertx.ext.web.handler.impl.UserHolder.user:Lio/vertx/ext/auth/User;
      StackMap locals:
      StackMap stack: io.vertx.ext.auth.User
         2: astore 2 /* user */
        start local 2 // io.vertx.ext.auth.User user
         3: .line 49
            aload 2 /* user */
            instanceof io.vertx.core.shareddata.impl.ClusterSerializable
            ifeq 14
         4: .line 50
            aload 1 /* buffer */
            iconst_1
            invokeinterface io.vertx.core.buffer.Buffer.appendByte:(B)Lio/vertx/core/buffer/Buffer;
            pop
         5: .line 51
            aload 2 /* user */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* className */
        start local 3 // java.lang.String className
         6: .line 52
            aload 3 /* className */
            ifnonnull 8
         7: .line 53
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot serialize "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* user */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 55
      StackMap locals: io.vertx.ext.auth.User java.lang.String
      StackMap stack:
            aload 3 /* className */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 4 /* bytes */
        start local 4 // byte[] bytes
         9: .line 56
            aload 1 /* buffer */
            aload 4 /* bytes */
            arraylength
            invokeinterface io.vertx.core.buffer.Buffer.appendInt:(I)Lio/vertx/core/buffer/Buffer;
            pop
        10: .line 57
            aload 1 /* buffer */
            aload 4 /* bytes */
            invokeinterface io.vertx.core.buffer.Buffer.appendBytes:([B)Lio/vertx/core/buffer/Buffer;
            pop
        11: .line 58
            aload 2 /* user */
            checkcast io.vertx.core.shareddata.impl.ClusterSerializable
            astore 5 /* cs */
        start local 5 // io.vertx.core.shareddata.impl.ClusterSerializable cs
        12: .line 59
            aload 5 /* cs */
            aload 1 /* buffer */
            invokeinterface io.vertx.core.shareddata.impl.ClusterSerializable.writeToBuffer:(Lio/vertx/core/buffer/Buffer;)V
        end local 5 // io.vertx.core.shareddata.impl.ClusterSerializable cs
        end local 4 // byte[] bytes
        end local 3 // java.lang.String className
        13: .line 60
            goto 15
        14: .line 61
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            iconst_0
            invokeinterface io.vertx.core.buffer.Buffer.appendByte:(B)Lio/vertx/core/buffer/Buffer;
            pop
        15: .line 63
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.ext.auth.User user
        end local 1 // io.vertx.core.buffer.Buffer buffer
        end local 0 // io.vertx.ext.web.handler.impl.UserHolder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lio/vertx/ext/web/handler/impl/UserHolder;
            0   16     1     buffer  Lio/vertx/core/buffer/Buffer;
            3   16     2       user  Lio/vertx/ext/auth/User;
            6   13     3  className  Ljava/lang/String;
            9   13     4      bytes  [B
           12   13     5         cs  Lio/vertx/core/shareddata/impl/ClusterSerializable;
    MethodParameters:
        Name  Flags
      buffer  

  public int readFromBuffer(int, io.vertx.core.buffer.Buffer);
    descriptor: (ILio/vertx/core/buffer/Buffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // io.vertx.ext.web.handler.impl.UserHolder this
        start local 1 // int pos
        start local 2 // io.vertx.core.buffer.Buffer buffer
         0: .line 67
            aload 2 /* buffer */
            iload 1 /* pos */
            iinc 1 /* pos */ 1
            invokeinterface io.vertx.core.buffer.Buffer.getByte:(I)B
            istore 3 /* b */
        start local 3 // byte b
         1: .line 68
            iload 3 /* b */
            iconst_1
            if_icmpne 16
         2: .line 69
            aload 2 /* buffer */
            iload 1 /* pos */
            invokeinterface io.vertx.core.buffer.Buffer.getInt:(I)I
            istore 4 /* len */
        start local 4 // int len
         3: .line 70
            iinc 1 /* pos */ 4
         4: .line 71
            aload 2 /* buffer */
            iload 1 /* pos */
            iload 1 /* pos */
            iload 4 /* len */
            iadd
            invokeinterface io.vertx.core.buffer.Buffer.getBytes:(II)[B
            astore 5 /* bytes */
        start local 5 // byte[] bytes
         5: .line 72
            iload 1 /* pos */
            iload 4 /* len */
            iadd
            istore 1 /* pos */
         6: .line 73
            new java.lang.String
            dup
            aload 5 /* bytes */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            astore 6 /* className */
        start local 6 // java.lang.String className
         7: .line 75
            invokestatic io.vertx.ext.web.impl.Utils.getClassLoader:()Ljava/lang/ClassLoader;
            aload 6 /* className */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 7 /* clazz */
        start local 7 // java.lang.Class clazz
         8: .line 76
            ldc Lio/vertx/core/shareddata/impl/ClusterSerializable;
            aload 7 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 10
         9: .line 77
            new java.lang.ClassCastException
            dup
            new java.lang.StringBuilder
            dup
            aload 6 /* className */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not ClusterSerializable"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 79
      StackMap locals: io.vertx.ext.web.handler.impl.UserHolder int io.vertx.core.buffer.Buffer int int byte[] java.lang.String java.lang.Class
      StackMap stack:
            aload 7 /* clazz */
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.core.shareddata.impl.ClusterSerializable
            astore 8 /* obj */
        start local 8 // io.vertx.core.shareddata.impl.ClusterSerializable obj
        11: .line 80
            aload 8 /* obj */
            iload 1 /* pos */
            aload 2 /* buffer */
            invokeinterface io.vertx.core.shareddata.impl.ClusterSerializable.readFromBuffer:(ILio/vertx/core/buffer/Buffer;)I
            istore 1 /* pos */
        12: .line 81
            aload 0 /* this */
            aload 8 /* obj */
            checkcast io.vertx.ext.auth.User
            putfield io.vertx.ext.web.handler.impl.UserHolder.user:Lio/vertx/ext/auth/User;
        end local 8 // io.vertx.core.shareddata.impl.ClusterSerializable obj
        end local 7 // java.lang.Class clazz
        13: .line 82
            goto 17
      StackMap locals: io.vertx.ext.web.handler.impl.UserHolder int io.vertx.core.buffer.Buffer int int byte[] java.lang.String
      StackMap stack: java.lang.Exception
        14: astore 7 /* e */
        start local 7 // java.lang.Exception e
        15: .line 83
            new io.vertx.core.VertxException
            dup
            aload 7 /* e */
            invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.lang.Exception e
        end local 6 // java.lang.String className
        end local 5 // byte[] bytes
        end local 4 // int len
        16: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.vertx.ext.web.handler.impl.UserHolder.user:Lio/vertx/ext/auth/User;
        17: .line 88
      StackMap locals:
      StackMap stack:
            iload 1 /* pos */
            ireturn
        end local 3 // byte b
        end local 2 // io.vertx.core.buffer.Buffer buffer
        end local 1 // int pos
        end local 0 // io.vertx.ext.web.handler.impl.UserHolder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lio/vertx/ext/web/handler/impl/UserHolder;
            0   18     1        pos  I
            0   18     2     buffer  Lio/vertx/core/buffer/Buffer;
            1   18     3          b  B
            3   16     4        len  I
            5   16     5      bytes  [B
            7   16     6  className  Ljava/lang/String;
            8   13     7      clazz  Ljava/lang/Class<*>;
           11   13     8        obj  Lio/vertx/core/shareddata/impl/ClusterSerializable;
           15   16     7          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           7    13      14  Class java.lang.Exception
    MethodParameters:
        Name  Flags
      pos     
      buffer  
}
SourceFile: "UserHolder.java"