public class io.vertx.ext.auth.oauth2.impl.AccessTokenImpl extends io.vertx.ext.auth.impl.UserImpl implements io.vertx.ext.auth.oauth2.AccessToken
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.auth.oauth2.impl.AccessTokenImpl
  super_class: io.vertx.ext.auth.impl.UserImpl
{
  private static final io.vertx.core.impl.logging.Logger LOG;
    descriptor: Lio/vertx/core/impl/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private io.vertx.ext.auth.oauth2.OAuth2Auth oAuth2Auth;
    descriptor: Lio/vertx/ext/auth/oauth2/OAuth2Auth;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 20
            ldc Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;
            invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
            putstatic io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.LOG:Lio/vertx/core/impl/logging/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
         0: .line 26
            aload 0 /* this */
            invokespecial io.vertx.ext.auth.impl.UserImpl.<init>:()V
         1: .line 27
            return
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;

  public void <init>(io.vertx.core.json.JsonObject, io.vertx.ext.auth.oauth2.OAuth2Auth);
    descriptor: (Lio/vertx/core/json/JsonObject;Lio/vertx/ext/auth/oauth2/OAuth2Auth;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
        start local 1 // io.vertx.core.json.JsonObject principal
        start local 2 // io.vertx.ext.auth.oauth2.OAuth2Auth oAuth2Auth
         0: .line 30
            aload 0 /* this */
            aload 1 /* principal */
            invokespecial io.vertx.ext.auth.impl.UserImpl.<init>:(Lio/vertx/core/json/JsonObject;)V
         1: .line 31
            aload 0 /* this */
            aload 2 /* oAuth2Auth */
            putfield io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.oAuth2Auth:Lio/vertx/ext/auth/oauth2/OAuth2Auth;
         2: .line 32
            return
        end local 2 // io.vertx.ext.auth.oauth2.OAuth2Auth oAuth2Auth
        end local 1 // io.vertx.core.json.JsonObject principal
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;
            0    3     1   principal  Lio/vertx/core/json/JsonObject;
            0    3     2  oAuth2Auth  Lio/vertx/ext/auth/oauth2/OAuth2Auth;
    MethodParameters:
            Name  Flags
      principal   
      oAuth2Auth  

  public void setAuthProvider(io.vertx.ext.auth.AuthProvider);
    descriptor: (Lio/vertx/ext/auth/AuthProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
        start local 1 // io.vertx.ext.auth.AuthProvider authProvider
         0: .line 36
            aload 0 /* this */
            aload 1 /* authProvider */
            checkcast io.vertx.ext.auth.oauth2.OAuth2Auth
            putfield io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.oAuth2Auth:Lio/vertx/ext/auth/oauth2/OAuth2Auth;
         1: .line 37
            return
        end local 1 // io.vertx.ext.auth.AuthProvider authProvider
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;
            0    2     1  authProvider  Lio/vertx/ext/auth/AuthProvider;
    MethodParameters:
              Name  Flags
      authProvider  

  public boolean isScopeGranted();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
         0: .line 41
            iconst_0
            ireturn
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;

  public io.vertx.core.json.JsonObject accessToken();
    descriptor: ()Lio/vertx/core/json/JsonObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
         0: .line 46
            aload 0 /* this */
            invokevirtual io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.attributes:()Lio/vertx/core/json/JsonObject;
            ldc "accessToken"
            invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;

  public io.vertx.core.json.JsonObject idToken();
    descriptor: ()Lio/vertx/core/json/JsonObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
         0: .line 51
            aload 0 /* this */
            invokevirtual io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.attributes:()Lio/vertx/core/json/JsonObject;
            ldc "idToken"
            invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;

  public java.lang.String opaqueAccessToken();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
         0: .line 56
            aload 0 /* this */
            invokevirtual io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.principal:()Lio/vertx/core/json/JsonObject;
            ldc "access_token"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;

  public java.lang.String opaqueRefreshToken();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
         0: .line 61
            aload 0 /* this */
            invokevirtual io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.principal:()Lio/vertx/core/json/JsonObject;
            ldc "refresh_token"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;

  public java.lang.String opaqueIdToken();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
         0: .line 66
            aload 0 /* this */
            invokevirtual io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.principal:()Lio/vertx/core/json/JsonObject;
            ldc "id_token"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;

  public java.lang.String tokenType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
         0: .line 71
            aload 0 /* this */
            invokevirtual io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.principal:()Lio/vertx/core/json/JsonObject;
            ldc "token_type"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;

  public io.vertx.ext.auth.oauth2.AccessToken setTrustJWT(boolean);
    descriptor: (Z)Lio/vertx/ext/auth/oauth2/AccessToken;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
        start local 1 // boolean trust
         0: .line 76
            getstatic io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.LOG:Lio/vertx/core/impl/logging/Logger;
            ldc "This operation is not supported."
            invokeinterface io.vertx.core.impl.logging.Logger.warn:(Ljava/lang/Object;)V
         1: .line 77
            aload 0 /* this */
            areturn
        end local 1 // boolean trust
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;
            0    2     1  trust  Z
    MethodParameters:
       Name  Flags
      trust  

  public io.vertx.ext.auth.oauth2.AccessToken refresh(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/AccessToken;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
        start local 1 // io.vertx.core.Handler callback
         0: .line 82
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.oAuth2Auth:Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* callback */
            invokedynamic handle(Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/auth/oauth2/impl/AccessTokenImpl.lambda$0(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.refresh:(Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            pop
         1: .line 93
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler callback
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;
            0    2     1  callback  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/ext/auth/oauth2/AccessToken;
    MethodParameters:
          Name  Flags
      callback  

  public io.vertx.ext.auth.oauth2.AccessToken revoke(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/AccessToken;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
        start local 1 // java.lang.String token_type
        start local 2 // io.vertx.core.Handler callback
         0: .line 98
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.oAuth2Auth:Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            aload 0 /* this */
            aload 1 /* token_type */
            aload 0 /* this */
            aload 2 /* callback */
            aload 1 /* token_type */
            invokedynamic handle(Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;Lio/vertx/core/Handler;Ljava/lang/String;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/auth/oauth2/impl/AccessTokenImpl.lambda$1(Lio/vertx/core/Handler;Ljava/lang/String;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.revoke:(Lio/vertx/ext/auth/User;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            pop
         1: .line 107
            aload 0 /* this */
            areturn
        end local 2 // io.vertx.core.Handler callback
        end local 1 // java.lang.String token_type
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;
            0    2     1  token_type  Ljava/lang/String;
            0    2     2    callback  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/ext/auth/oauth2/AccessToken;
    MethodParameters:
            Name  Flags
      token_type  
      callback    

  public io.vertx.ext.auth.oauth2.AccessToken logout(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/AccessToken;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
        start local 1 // io.vertx.core.Handler callback
         0: .line 112
            getstatic io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.LOG:Lio/vertx/core/impl/logging/Logger;
            ldc "This operation is not supported, this was a Keycloak specific feature not a standard"
            invokeinterface io.vertx.core.impl.logging.Logger.warn:(Ljava/lang/Object;)V
         1: .line 113
            aload 1 /* callback */
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 114
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler callback
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;
            0    3     1  callback  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/ext/auth/oauth2/AccessToken;
    MethodParameters:
          Name  Flags
      callback  

  public io.vertx.ext.auth.oauth2.AccessToken introspect(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/AccessToken;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
        start local 1 // io.vertx.core.Handler callback
         0: .line 119
            getstatic io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.LOG:Lio/vertx/core/impl/logging/Logger;
            ldc "This operation is not supported, authenticate the user instead"
            invokeinterface io.vertx.core.impl.logging.Logger.warn:(Ljava/lang/Object;)V
         1: .line 120
            aload 1 /* callback */
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 121
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler callback
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;
            0    3     1  callback  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/ext/auth/oauth2/AccessToken;
    MethodParameters:
          Name  Flags
      callback  

  public io.vertx.ext.auth.oauth2.AccessToken introspect(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/AccessToken;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
        start local 1 // java.lang.String tokenType
        start local 2 // io.vertx.core.Handler callback
         0: .line 126
            getstatic io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.LOG:Lio/vertx/core/impl/logging/Logger;
            ldc "This operation is not supported, authenticate the user instead"
            invokeinterface io.vertx.core.impl.logging.Logger.warn:(Ljava/lang/Object;)V
         1: .line 127
            aload 2 /* callback */
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 128
            aload 0 /* this */
            areturn
        end local 2 // io.vertx.core.Handler callback
        end local 1 // java.lang.String tokenType
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;
            0    3     1  tokenType  Ljava/lang/String;
            0    3     2   callback  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/ext/auth/oauth2/AccessToken;
    MethodParameters:
           Name  Flags
      tokenType  
      callback   

  public io.vertx.ext.auth.oauth2.AccessToken userInfo(io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.json.JsonObject>>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/AccessToken;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
        start local 1 // io.vertx.core.Handler callback
         0: .line 133
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.oAuth2Auth:Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            aload 0 /* this */
            aload 1 /* callback */
            invokeinterface io.vertx.ext.auth.oauth2.OAuth2Auth.userInfo:(Lio/vertx/ext/auth/User;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/OAuth2Auth;
            pop
         1: .line 134
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler callback
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;
            0    2     1  callback  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;)Lio/vertx/ext/auth/oauth2/AccessToken;
    MethodParameters:
          Name  Flags
      callback  

  public io.vertx.ext.auth.oauth2.AccessToken fetch(io.vertx.core.http.HttpMethod, java.lang.String, io.vertx.core.json.JsonObject, io.vertx.core.buffer.Buffer, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.auth.oauth2.OAuth2Response>>);
    descriptor: (Lio/vertx/core/http/HttpMethod;Ljava/lang/String;Lio/vertx/core/json/JsonObject;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)Lio/vertx/ext/auth/oauth2/AccessToken;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
        start local 1 // io.vertx.core.http.HttpMethod method
        start local 2 // java.lang.String resource
        start local 3 // io.vertx.core.json.JsonObject headers
        start local 4 // io.vertx.core.buffer.Buffer payload
        start local 5 // io.vertx.core.Handler callback
         0: .line 139
            getstatic io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.LOG:Lio/vertx/core/impl/logging/Logger;
            ldc "This operation is not supported, use a WebClient instead"
            invokeinterface io.vertx.core.impl.logging.Logger.warn:(Ljava/lang/Object;)V
         1: .line 140
            aload 5 /* callback */
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 141
            aload 0 /* this */
            areturn
        end local 5 // io.vertx.core.Handler callback
        end local 4 // io.vertx.core.buffer.Buffer payload
        end local 3 // io.vertx.core.json.JsonObject headers
        end local 2 // java.lang.String resource
        end local 1 // io.vertx.core.http.HttpMethod method
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;
            0    3     1    method  Lio/vertx/core/http/HttpMethod;
            0    3     2  resource  Ljava/lang/String;
            0    3     3   headers  Lio/vertx/core/json/JsonObject;
            0    3     4   payload  Lio/vertx/core/buffer/Buffer;
            0    3     5  callback  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/OAuth2Response;>;>;
    Signature: (Lio/vertx/core/http/HttpMethod;Ljava/lang/String;Lio/vertx/core/json/JsonObject;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/oauth2/OAuth2Response;>;>;)Lio/vertx/ext/auth/oauth2/AccessToken;
    MethodParameters:
          Name  Flags
      method    
      resource  
      headers   
      payload   
      callback  

  private void lambda$0(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
        start local 2 // io.vertx.core.AsyncResult refresh
         0: .line 83
            aload 2 /* refresh */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 3
         1: .line 84
            aload 1
            aload 2 /* refresh */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 85
            goto 7
         3: .line 86
      StackMap locals:
      StackMap stack:
            aload 2 /* refresh */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.ext.auth.User
            astore 3 /* user */
        start local 3 // io.vertx.ext.auth.User user
         4: .line 88
            aload 0 /* this */
            invokevirtual io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.attributes:()Lio/vertx/core/json/JsonObject;
            aload 3 /* user */
            invokeinterface io.vertx.ext.auth.User.attributes:()Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.core.json.JsonObject.mergeIn:(Lio/vertx/core/json/JsonObject;)Lio/vertx/core/json/JsonObject;
            pop
         5: .line 89
            aload 0 /* this */
            invokevirtual io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.principal:()Lio/vertx/core/json/JsonObject;
            aload 3 /* user */
            invokeinterface io.vertx.ext.auth.User.principal:()Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.core.json.JsonObject.mergeIn:(Lio/vertx/core/json/JsonObject;)Lio/vertx/core/json/JsonObject;
            pop
         6: .line 90
            aload 1
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        end local 3 // io.vertx.ext.auth.User user
         7: .line 92
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult refresh
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;
            0    8     2  refresh  Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;
            4    7     3     user  Lio/vertx/ext/auth/User;

  private void lambda$1(io.vertx.core.Handler, java.lang.String, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Ljava/lang/String;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
        start local 3 // io.vertx.core.AsyncResult revoke
         0: .line 99
            aload 3 /* revoke */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 3
         1: .line 100
            aload 1
            aload 3 /* revoke */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 101
            goto 5
         3: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.ext.auth.oauth2.impl.AccessTokenImpl.principal:()Lio/vertx/core/json/JsonObject;
            aload 2
            invokevirtual io.vertx.core.json.JsonObject.remove:(Ljava/lang/String;)Ljava/lang/Object;
            pop
         4: .line 104
            aload 1
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         5: .line 106
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.core.AsyncResult revoke
        end local 0 // io.vertx.ext.auth.oauth2.impl.AccessTokenImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lio/vertx/ext/auth/oauth2/impl/AccessTokenImpl;
            0    6     3  revoke  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
}
SourceFile: "AccessTokenImpl.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles