public class org.apache.catalina.session.StandardSession implements jakarta.servlet.http.HttpSession, org.apache.catalina.Session, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.catalina.session.StandardSession
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  protected static final java.lang.String[] EMPTY_ARRAY;
    descriptor: [Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected java.util.concurrent.ConcurrentMap<java.lang.String, java.lang.Object> attributes;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljava/lang/Object;>;

  protected transient java.lang.String authType;
    descriptor: Ljava/lang/String;
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT

  protected long creationTime;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  protected volatile transient boolean expiring;
    descriptor: Z
    flags: (0x00c4) ACC_PROTECTED, ACC_VOLATILE, ACC_TRANSIENT

  protected transient org.apache.catalina.session.StandardSessionFacade facade;
    descriptor: Lorg/apache/catalina/session/StandardSessionFacade;
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT

  protected java.lang.String id;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected volatile long lastAccessedTime;
    descriptor: J
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

  protected transient java.util.ArrayList<org.apache.catalina.SessionListener> listeners;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT
    Signature: Ljava/util/ArrayList<Lorg/apache/catalina/SessionListener;>;

  protected transient org.apache.catalina.Manager manager;
    descriptor: Lorg/apache/catalina/Manager;
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT

  protected volatile int maxInactiveInterval;
    descriptor: I
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

  protected volatile boolean isNew;
    descriptor: Z
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

  protected volatile boolean isValid;
    descriptor: Z
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

  protected transient java.util.Map<java.lang.String, java.lang.Object> notes;
    descriptor: Ljava/util/Map;
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  protected transient java.security.Principal principal;
    descriptor: Ljava/security/Principal;
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT

  protected static final org.apache.tomcat.util.res.StringManager sm;
    descriptor: Lorg/apache/tomcat/util/res/StringManager;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static volatile jakarta.servlet.http.HttpSessionContext sessionContext;
    descriptor: Ljakarta/servlet/http/HttpSessionContext;
    flags: (0x004c) ACC_PROTECTED, ACC_STATIC, ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  protected final transient java.beans.PropertyChangeSupport support;
    descriptor: Ljava/beans/PropertyChangeSupport;
    flags: (0x0094) ACC_PROTECTED, ACC_FINAL, ACC_TRANSIENT

  protected volatile long thisAccessedTime;
    descriptor: J
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

  protected transient java.util.concurrent.atomic.AtomicInteger accessCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT

  protected transient boolean activityCheck;
    descriptor: Z
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT

  protected transient boolean lastAccessAtStart;
    descriptor: Z
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 120
            iconst_0
            anewarray java.lang.String
            putstatic org.apache.catalina.session.StandardSession.EMPTY_ARRAY:[Ljava/lang/String;
         1: .line 222
            ldc Lorg/apache/catalina/session/StandardSession;
            invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
            putstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
         2: .line 230
            aconst_null
            putstatic org.apache.catalina.session.StandardSession.sessionContext:Ljakarta/servlet/http/HttpSessionContext;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.catalina.Manager);
    descriptor: (Lorg/apache/catalina/Manager;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // org.apache.catalina.Manager manager
         0: .line 97
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 126
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.apache.catalina.session.StandardSession.attributes:Ljava/util/concurrent/ConcurrentMap;
         2: .line 134
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.session.StandardSession.authType:Ljava/lang/String;
         3: .line 141
            aload 0 /* this */
            lconst_0
            putfield org.apache.catalina.session.StandardSession.creationTime:J
         4: .line 149
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.session.StandardSession.expiring:Z
         5: .line 156
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.session.StandardSession.facade:Lorg/apache/catalina/session/StandardSessionFacade;
         6: .line 162
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
         7: .line 168
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.creationTime:J
            putfield org.apache.catalina.session.StandardSession.lastAccessedTime:J
         8: .line 174
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.apache.catalina.session.StandardSession.listeners:Ljava/util/ArrayList;
         9: .line 180
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
        10: .line 188
            aload 0 /* this */
            iconst_m1
            putfield org.apache.catalina.session.StandardSession.maxInactiveInterval:I
        11: .line 194
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.session.StandardSession.isNew:Z
        12: .line 200
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.session.StandardSession.isValid:Z
        13: .line 208
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield org.apache.catalina.session.StandardSession.notes:Ljava/util/Map;
        14: .line 216
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.session.StandardSession.principal:Ljava/security/Principal;
        15: .line 237
            aload 0 /* this */
        16: .line 238
            new java.beans.PropertyChangeSupport
            dup
            aload 0 /* this */
            invokespecial java.beans.PropertyChangeSupport.<init>:(Ljava/lang/Object;)V
            putfield org.apache.catalina.session.StandardSession.support:Ljava/beans/PropertyChangeSupport;
        17: .line 244
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.creationTime:J
            putfield org.apache.catalina.session.StandardSession.thisAccessedTime:J
        18: .line 250
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.session.StandardSession.accessCount:Ljava/util/concurrent/atomic/AtomicInteger;
        19: .line 98
            aload 0 /* this */
            aload 1 /* manager */
            putfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
        20: .line 100
            aload 1 /* manager */
            ifnull 23
        21: .line 102
            aload 0 /* this */
            aload 1 /* manager */
            invokeinterface org.apache.catalina.Manager.getSessionActivityCheck:()Z
            putfield org.apache.catalina.session.StandardSession.activityCheck:Z
        22: .line 103
            aload 0 /* this */
            aload 1 /* manager */
            invokeinterface org.apache.catalina.Manager.getSessionLastAccessAtStart:()Z
            putfield org.apache.catalina.session.StandardSession.lastAccessAtStart:Z
        23: .line 107
      StackMap locals: org.apache.catalina.session.StandardSession org.apache.catalina.Manager
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.activityCheck:Z
            ifeq 25
        24: .line 108
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putfield org.apache.catalina.session.StandardSession.accessCount:Ljava/util/concurrent/atomic/AtomicInteger;
        25: .line 111
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.catalina.Manager manager
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lorg/apache/catalina/session/StandardSession;
            0   26     1  manager  Lorg/apache/catalina/Manager;
    MethodParameters:
         Name  Flags
      manager  

  public java.lang.String getAuthType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 274
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.authType:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/session/StandardSession;

  public void setAuthType(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String authType
         0: .line 286
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.authType:Ljava/lang/String;
            astore 2 /* oldAuthType */
        start local 2 // java.lang.String oldAuthType
         1: .line 287
            aload 0 /* this */
            aload 1 /* authType */
            putfield org.apache.catalina.session.StandardSession.authType:Ljava/lang/String;
         2: .line 288
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.support:Ljava/beans/PropertyChangeSupport;
            ldc "authType"
            aload 2 /* oldAuthType */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.authType:Ljava/lang/String;
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 289
            return
        end local 2 // java.lang.String oldAuthType
        end local 1 // java.lang.String authType
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/apache/catalina/session/StandardSession;
            0    4     1     authType  Ljava/lang/String;
            1    4     2  oldAuthType  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      authType  

  public void setCreationTime(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // long time
         0: .line 301
            aload 0 /* this */
            lload 1 /* time */
            putfield org.apache.catalina.session.StandardSession.creationTime:J
         1: .line 302
            aload 0 /* this */
            lload 1 /* time */
            putfield org.apache.catalina.session.StandardSession.lastAccessedTime:J
         2: .line 303
            aload 0 /* this */
            lload 1 /* time */
            putfield org.apache.catalina.session.StandardSession.thisAccessedTime:J
         3: .line 305
            return
        end local 1 // long time
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/catalina/session/StandardSession;
            0    4     1  time  J
    MethodParameters:
      Name  Flags
      time  

  public java.lang.String getId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 313
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/session/StandardSession;

  public java.lang.String getIdInternal();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 322
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/session/StandardSession;

  public void setId(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String id
         0: .line 333
            aload 0 /* this */
            aload 1 /* id */
            iconst_1
            invokevirtual org.apache.catalina.session.StandardSession.setId:(Ljava/lang/String;Z)V
         1: .line 334
            return
        end local 1 // java.lang.String id
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/catalina/session/StandardSession;
            0    2     1    id  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      id    

  public void setId(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String id
        start local 2 // boolean notify
         0: .line 343
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
            ifnull 2
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            ifnull 2
         1: .line 344
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            aload 0 /* this */
            invokeinterface org.apache.catalina.Manager.remove:(Lorg/apache/catalina/Session;)V
         2: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            putfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
         3: .line 348
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            ifnull 5
         4: .line 349
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            aload 0 /* this */
            invokeinterface org.apache.catalina.Manager.add:(Lorg/apache/catalina/Session;)V
         5: .line 351
      StackMap locals:
      StackMap stack:
            iload 2 /* notify */
            ifeq 7
         6: .line 352
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.tellNew:()V
         7: .line 354
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean notify
        end local 1 // java.lang.String id
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/apache/catalina/session/StandardSession;
            0    8     1      id  Ljava/lang/String;
            0    8     2  notify  Z
    MethodParameters:
        Name  Flags
      id      
      notify  

  public void tellNew();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 364
            aload 0 /* this */
            ldc "createSession"
            aconst_null
            invokevirtual org.apache.catalina.session.StandardSession.fireSessionEvent:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 367
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            astore 1 /* context */
        start local 1 // org.apache.catalina.Context context
         2: .line 368
            aload 1 /* context */
            invokeinterface org.apache.catalina.Context.getApplicationLifecycleListeners:()[Ljava/lang/Object;
            astore 2 /* listeners */
        start local 2 // java.lang.Object[] listeners
         3: .line 369
            aload 2 /* listeners */
            ifnull 23
            aload 2 /* listeners */
            arraylength
            ifle 23
         4: .line 371
            new jakarta.servlet.http.HttpSessionEvent
            dup
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getSession:()Ljakarta/servlet/http/HttpSession;
            invokespecial jakarta.servlet.http.HttpSessionEvent.<init>:(Ljakarta/servlet/http/HttpSession;)V
         5: .line 370
            astore 3 /* event */
        start local 3 // jakarta.servlet.http.HttpSessionEvent event
         6: .line 372
            aload 2 /* listeners */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 22
      StackMap locals: org.apache.catalina.session.StandardSession org.apache.catalina.Context java.lang.Object[] jakarta.servlet.http.HttpSessionEvent top int int java.lang.Object[]
      StackMap stack:
         7: aload 7
            iload 5
            aaload
            astore 4 /* o */
        start local 4 // java.lang.Object o
         8: .line 373
            aload 4 /* o */
            instanceof jakarta.servlet.http.HttpSessionListener
            ifne 10
         9: .line 374
            goto 21
        10: .line 375
      StackMap locals: org.apache.catalina.session.StandardSession org.apache.catalina.Context java.lang.Object[] jakarta.servlet.http.HttpSessionEvent java.lang.Object int int java.lang.Object[]
      StackMap stack:
            aload 4 /* o */
            checkcast jakarta.servlet.http.HttpSessionListener
            astore 8 /* listener */
        start local 8 // jakarta.servlet.http.HttpSessionListener listener
        11: .line 377
            aload 1 /* context */
            ldc "beforeSessionCreated"
            aload 8 /* listener */
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        12: .line 378
            aload 8 /* listener */
            aload 3 /* event */
            invokeinterface jakarta.servlet.http.HttpSessionListener.sessionCreated:(Ljakarta/servlet/http/HttpSessionEvent;)V
        13: .line 379
            aload 1 /* context */
            ldc "afterSessionCreated"
            aload 8 /* listener */
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        14: .line 380
            goto 21
      StackMap locals: org.apache.catalina.session.StandardSession org.apache.catalina.Context java.lang.Object[] jakarta.servlet.http.HttpSessionEvent java.lang.Object int int java.lang.Object[] jakarta.servlet.http.HttpSessionListener
      StackMap stack: java.lang.Throwable
        15: astore 9 /* t */
        start local 9 // java.lang.Throwable t
        16: .line 381
            aload 9 /* t */
            invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
        17: .line 383
            aload 1 /* context */
            ldc "afterSessionCreated"
            aload 8 /* listener */
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        18: .line 384
            goto 20
      StackMap locals: org.apache.catalina.session.StandardSession org.apache.catalina.Context java.lang.Object[] jakarta.servlet.http.HttpSessionEvent java.lang.Object int int java.lang.Object[] jakarta.servlet.http.HttpSessionListener java.lang.Throwable
      StackMap stack: java.lang.Exception
        19: pop
        20: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.sessionEvent"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 9 /* t */
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 9 // java.lang.Throwable t
        end local 8 // jakarta.servlet.http.HttpSessionListener listener
        end local 4 // java.lang.Object o
        21: .line 372
      StackMap locals: org.apache.catalina.session.StandardSession org.apache.catalina.Context java.lang.Object[] jakarta.servlet.http.HttpSessionEvent top int int java.lang.Object[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        22: iload 5
            iload 6
            if_icmplt 7
        end local 3 // jakarta.servlet.http.HttpSessionEvent event
        23: .line 392
      StackMap locals: org.apache.catalina.session.StandardSession org.apache.catalina.Context java.lang.Object[]
      StackMap stack:
            return
        end local 2 // java.lang.Object[] listeners
        end local 1 // org.apache.catalina.Context context
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Lorg/apache/catalina/session/StandardSession;
            2   24     1    context  Lorg/apache/catalina/Context;
            3   24     2  listeners  [Ljava/lang/Object;
            6   23     3      event  Ljakarta/servlet/http/HttpSessionEvent;
            8   21     4          o  Ljava/lang/Object;
           11   21     8   listener  Ljakarta/servlet/http/HttpSessionListener;
           16   21     9          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          11    14      15  Class java.lang.Throwable
          17    18      19  Class java.lang.Exception

  public void tellChangedSessionId(java.lang.String, java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=14, args_size=5
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String newId
        start local 2 // java.lang.String oldId
        start local 3 // boolean notifySessionListeners
        start local 4 // boolean notifyContainerListeners
         0: .line 407
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            astore 5 /* context */
        start local 5 // org.apache.catalina.Context context
         1: .line 409
            iload 4 /* notifyContainerListeners */
            ifeq 5
         2: .line 410
            aload 5 /* context */
            ldc "changeSessionId"
         3: .line 411
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* oldId */
            aastore
            dup
            iconst_1
            aload 1 /* newId */
            aastore
         4: .line 410
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 415
      StackMap locals: org.apache.catalina.Context
      StackMap stack:
            iload 3 /* notifySessionListeners */
            ifeq 24
         6: .line 416
            aload 5 /* context */
            invokeinterface org.apache.catalina.Context.getApplicationEventListeners:()[Ljava/lang/Object;
            astore 6 /* listeners */
        start local 6 // java.lang.Object[] listeners
         7: .line 417
            aload 6 /* listeners */
            ifnull 24
            aload 6 /* listeners */
            arraylength
            ifle 24
         8: .line 419
            new jakarta.servlet.http.HttpSessionEvent
            dup
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getSession:()Ljakarta/servlet/http/HttpSession;
            invokespecial jakarta.servlet.http.HttpSessionEvent.<init>:(Ljakarta/servlet/http/HttpSession;)V
         9: .line 418
            astore 7 /* event */
        start local 7 // jakarta.servlet.http.HttpSessionEvent event
        10: .line 421
            aload 6 /* listeners */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 23
      StackMap locals: org.apache.catalina.session.StandardSession java.lang.String java.lang.String int int org.apache.catalina.Context java.lang.Object[] jakarta.servlet.http.HttpSessionEvent top int int java.lang.Object[]
      StackMap stack:
        11: aload 11
            iload 9
            aaload
            astore 8 /* listener */
        start local 8 // java.lang.Object listener
        12: .line 422
            aload 8 /* listener */
            instanceof jakarta.servlet.http.HttpSessionIdListener
            ifne 14
        13: .line 423
            goto 22
        14: .line 426
      StackMap locals: org.apache.catalina.session.StandardSession java.lang.String java.lang.String int int org.apache.catalina.Context java.lang.Object[] jakarta.servlet.http.HttpSessionEvent java.lang.Object int int java.lang.Object[]
      StackMap stack:
            aload 8 /* listener */
            checkcast jakarta.servlet.http.HttpSessionIdListener
        15: .line 425
            astore 12 /* idListener */
        start local 12 // jakarta.servlet.http.HttpSessionIdListener idListener
        16: .line 428
            aload 12 /* idListener */
            aload 7 /* event */
            aload 2 /* oldId */
            invokeinterface jakarta.servlet.http.HttpSessionIdListener.sessionIdChanged:(Ljakarta/servlet/http/HttpSessionEvent;Ljava/lang/String;)V
        17: .line 429
            goto 22
      StackMap locals: org.apache.catalina.session.StandardSession java.lang.String java.lang.String int int org.apache.catalina.Context java.lang.Object[] jakarta.servlet.http.HttpSessionEvent java.lang.Object int int java.lang.Object[] jakarta.servlet.http.HttpSessionIdListener
      StackMap stack: java.lang.Throwable
        18: astore 13 /* t */
        start local 13 // java.lang.Throwable t
        19: .line 430
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
        20: .line 431
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.sessionEvent"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 13 /* t */
        21: .line 430
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 13 // java.lang.Throwable t
        end local 12 // jakarta.servlet.http.HttpSessionIdListener idListener
        end local 8 // java.lang.Object listener
        22: .line 421
      StackMap locals: org.apache.catalina.session.StandardSession java.lang.String java.lang.String int int org.apache.catalina.Context java.lang.Object[] jakarta.servlet.http.HttpSessionEvent top int int java.lang.Object[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        23: iload 9
            iload 10
            if_icmplt 11
        end local 7 // jakarta.servlet.http.HttpSessionEvent event
        end local 6 // java.lang.Object[] listeners
        24: .line 436
      StackMap locals: org.apache.catalina.session.StandardSession java.lang.String java.lang.String int int org.apache.catalina.Context
      StackMap stack:
            return
        end local 5 // org.apache.catalina.Context context
        end local 4 // boolean notifyContainerListeners
        end local 3 // boolean notifySessionListeners
        end local 2 // java.lang.String oldId
        end local 1 // java.lang.String newId
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   25     0                      this  Lorg/apache/catalina/session/StandardSession;
            0   25     1                     newId  Ljava/lang/String;
            0   25     2                     oldId  Ljava/lang/String;
            0   25     3    notifySessionListeners  Z
            0   25     4  notifyContainerListeners  Z
            1   25     5                   context  Lorg/apache/catalina/Context;
            7   24     6                 listeners  [Ljava/lang/Object;
           10   24     7                     event  Ljakarta/servlet/http/HttpSessionEvent;
           12   22     8                  listener  Ljava/lang/Object;
           16   22    12                idListener  Ljakarta/servlet/http/HttpSessionIdListener;
           19   22    13                         t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          16    17      18  Class java.lang.Throwable
    MethodParameters:
                          Name  Flags
      newId                     
      oldId                     
      notifySessionListeners    
      notifyContainerListeners  

  public long getThisAccessedTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 449
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.isValidInternal:()Z
            ifne 4
         1: .line 450
            new java.lang.IllegalStateException
            dup
         2: .line 451
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.getThisAccessedTime.ise"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 450
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.thisAccessedTime:J
            lreturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/session/StandardSession;

  public long getThisAccessedTimeInternal();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 463
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.thisAccessedTime:J
            lreturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/session/StandardSession;

  public long getLastAccessedTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 476
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.isValidInternal:()Z
            ifne 4
         1: .line 477
            new java.lang.IllegalStateException
            dup
         2: .line 478
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.getLastAccessedTime.ise"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 477
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.lastAccessedTime:J
            lreturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/session/StandardSession;

  public long getLastAccessedTimeInternal();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 490
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.lastAccessedTime:J
            lreturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/session/StandardSession;

  public long getIdleTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 499
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.isValidInternal:()Z
            ifne 4
         1: .line 500
            new java.lang.IllegalStateException
            dup
         2: .line 501
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.getIdleTime.ise"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 500
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getIdleTimeInternal:()J
            lreturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/session/StandardSession;

  public long getIdleTimeInternal();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 513
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 1 /* timeNow */
        start local 1 // long timeNow
         1: .line 515
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.lastAccessAtStart:Z
            ifeq 4
         2: .line 516
            lload 1 /* timeNow */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.lastAccessedTime:J
            lsub
            lstore 3 /* timeIdle */
        start local 3 // long timeIdle
         3: .line 517
            goto 5
        end local 3 // long timeIdle
         4: .line 518
      StackMap locals: long
      StackMap stack:
            lload 1 /* timeNow */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.thisAccessedTime:J
            lsub
            lstore 3 /* timeIdle */
        start local 3 // long timeIdle
         5: .line 520
      StackMap locals: long
      StackMap stack:
            lload 3 /* timeIdle */
            lreturn
        end local 3 // long timeIdle
        end local 1 // long timeNow
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/apache/catalina/session/StandardSession;
            1    6     1   timeNow  J
            3    4     3  timeIdle  J
            5    6     3  timeIdle  J

  public org.apache.catalina.Manager getManager();
    descriptor: ()Lorg/apache/catalina/Manager;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 528
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            areturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/session/StandardSession;

  public void setManager(org.apache.catalina.Manager);
    descriptor: (Lorg/apache/catalina/Manager;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // org.apache.catalina.Manager manager
         0: .line 539
            aload 0 /* this */
            aload 1 /* manager */
            putfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
         1: .line 540
            return
        end local 1 // org.apache.catalina.Manager manager
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/catalina/session/StandardSession;
            0    2     1  manager  Lorg/apache/catalina/Manager;
    MethodParameters:
         Name  Flags
      manager  

  public int getMaxInactiveInterval();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 550
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.maxInactiveInterval:I
            ireturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/session/StandardSession;

  public void setMaxInactiveInterval(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // int interval
         0: .line 563
            aload 0 /* this */
            iload 1 /* interval */
            putfield org.apache.catalina.session.StandardSession.maxInactiveInterval:I
         1: .line 564
            return
        end local 1 // int interval
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/catalina/session/StandardSession;
            0    2     1  interval  I
    MethodParameters:
          Name  Flags
      interval  

  public void setNew(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // boolean isNew
         0: .line 574
            aload 0 /* this */
            iload 1 /* isNew */
            putfield org.apache.catalina.session.StandardSession.isNew:Z
         1: .line 575
            return
        end local 1 // boolean isNew
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/catalina/session/StandardSession;
            0    2     1  isNew  Z
    MethodParameters:
       Name  Flags
      isNew  

  public java.security.Principal getPrincipal();
    descriptor: ()Ljava/security/Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 587
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.principal:Ljava/security/Principal;
            areturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/session/StandardSession;

  public void setPrincipal(java.security.Principal);
    descriptor: (Ljava/security/Principal;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.security.Principal principal
         0: .line 602
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.principal:Ljava/security/Principal;
            astore 2 /* oldPrincipal */
        start local 2 // java.security.Principal oldPrincipal
         1: .line 603
            aload 0 /* this */
            aload 1 /* principal */
            putfield org.apache.catalina.session.StandardSession.principal:Ljava/security/Principal;
         2: .line 604
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.support:Ljava/beans/PropertyChangeSupport;
            ldc "principal"
            aload 2 /* oldPrincipal */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.principal:Ljava/security/Principal;
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 606
            return
        end local 2 // java.security.Principal oldPrincipal
        end local 1 // java.security.Principal principal
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/apache/catalina/session/StandardSession;
            0    4     1     principal  Ljava/security/Principal;
            1    4     2  oldPrincipal  Ljava/security/Principal;
    MethodParameters:
           Name  Flags
      principal  

  public jakarta.servlet.http.HttpSession getSession();
    descriptor: ()Ljakarta/servlet/http/HttpSession;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 615
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.facade:Lorg/apache/catalina/session/StandardSessionFacade;
            ifnonnull 5
         1: .line 616
            invokestatic org.apache.catalina.security.SecurityUtil.isPackageProtectionEnabled:()Z
            ifeq 4
         2: .line 617
            aload 0 /* this */
            new org.apache.catalina.session.StandardSession$PrivilegedNewSessionFacade
            dup
            aload 0 /* this */
            invokespecial org.apache.catalina.session.StandardSession$PrivilegedNewSessionFacade.<init>:(Ljakarta/servlet/http/HttpSession;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast org.apache.catalina.session.StandardSessionFacade
            putfield org.apache.catalina.session.StandardSession.facade:Lorg/apache/catalina/session/StandardSessionFacade;
         3: .line 618
            goto 5
         4: .line 619
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.apache.catalina.session.StandardSessionFacade
            dup
            aload 0 /* this */
            invokespecial org.apache.catalina.session.StandardSessionFacade.<init>:(Ljakarta/servlet/http/HttpSession;)V
            putfield org.apache.catalina.session.StandardSession.facade:Lorg/apache/catalina/session/StandardSessionFacade;
         5: .line 622
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.facade:Lorg/apache/catalina/session/StandardSessionFacade;
            areturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/catalina/session/StandardSession;

  public boolean isValid();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 632
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.isValid:Z
            ifne 2
         1: .line 633
            iconst_0
            ireturn
         2: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.expiring:Z
            ifeq 4
         3: .line 637
            iconst_1
            ireturn
         4: .line 640
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.activityCheck:Z
            ifeq 6
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.accessCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            ifle 6
         5: .line 641
            iconst_1
            ireturn
         6: .line 644
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.maxInactiveInterval:I
            ifle 10
         7: .line 645
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getIdleTimeInternal:()J
            ldc 1000
            ldiv
            l2i
            istore 1 /* timeIdle */
        start local 1 // int timeIdle
         8: .line 646
            iload 1 /* timeIdle */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.maxInactiveInterval:I
            if_icmplt 10
         9: .line 647
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.catalina.session.StandardSession.expire:(Z)V
        end local 1 // int timeIdle
        10: .line 651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.isValid:Z
            ireturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/apache/catalina/session/StandardSession;
            8   10     1  timeIdle  I

  public void setValid(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // boolean isValid
         0: .line 662
            aload 0 /* this */
            iload 1 /* isValid */
            putfield org.apache.catalina.session.StandardSession.isValid:Z
         1: .line 663
            return
        end local 1 // boolean isValid
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/catalina/session/StandardSession;
            0    2     1  isValid  Z
    MethodParameters:
         Name  Flags
      isValid  

  public void access();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 677
            aload 0 /* this */
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield org.apache.catalina.session.StandardSession.thisAccessedTime:J
         1: .line 679
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.activityCheck:Z
            ifeq 3
         2: .line 680
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.accessCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
         3: .line 683
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/catalina/session/StandardSession;

  public void endAccess();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 692
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.session.StandardSession.isNew:Z
         1: .line 698
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.lastAccessAtStart:Z
            ifeq 5
         2: .line 699
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.thisAccessedTime:J
            putfield org.apache.catalina.session.StandardSession.lastAccessedTime:J
         3: .line 700
            aload 0 /* this */
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield org.apache.catalina.session.StandardSession.thisAccessedTime:J
         4: .line 701
            goto 7
         5: .line 702
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield org.apache.catalina.session.StandardSession.thisAccessedTime:J
         6: .line 703
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.thisAccessedTime:J
            putfield org.apache.catalina.session.StandardSession.lastAccessedTime:J
         7: .line 706
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.activityCheck:Z
            ifeq 9
         8: .line 707
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.accessCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
            pop
         9: .line 710
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/apache/catalina/session/StandardSession;

  public void addSessionListener(org.apache.catalina.SessionListener);
    descriptor: (Lorg/apache/catalina/SessionListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // org.apache.catalina.SessionListener listener
         0: .line 719
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.listeners:Ljava/util/ArrayList;
            aload 1 /* listener */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 721
            return
        end local 1 // org.apache.catalina.SessionListener listener
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/catalina/session/StandardSession;
            0    2     1  listener  Lorg/apache/catalina/SessionListener;
    MethodParameters:
          Name  Flags
      listener  

  public void expire();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 731
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.catalina.session.StandardSession.expire:(Z)V
         1: .line 733
            return
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/catalina/session/StandardSession;

  public void expire(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=12, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // boolean notify
         0: .line 748
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.isValid:Z
            ifne 2
         1: .line 749
            return
         2: .line 751
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         3: .line 756
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.expiring:Z
            ifne 4
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.isValid:Z
            ifne 6
         4: .line 757
      StackMap locals: org.apache.catalina.session.StandardSession
      StackMap stack:
            aload 2
            monitorexit
         5: return
         6: .line 759
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            ifnonnull 9
         7: .line 760
            aload 2
            monitorexit
         8: return
         9: .line 763
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.apache.catalina.session.StandardSession.expiring:Z
        10: .line 767
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            astore 3 /* context */
        start local 3 // org.apache.catalina.Context context
        11: .line 772
            iload 1 /* notify */
            ifeq 50
        12: .line 773
            aconst_null
            astore 4 /* oldContextClassLoader */
        start local 4 // java.lang.ClassLoader oldContextClassLoader
        13: .line 775
            aload 3 /* context */
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            aconst_null
            invokeinterface org.apache.catalina.Context.bind:(ZLjava/lang/ClassLoader;)Ljava/lang/ClassLoader;
            astore 4 /* oldContextClassLoader */
        14: .line 776
            aload 3 /* context */
            invokeinterface org.apache.catalina.Context.getApplicationLifecycleListeners:()[Ljava/lang/Object;
            astore 5 /* listeners */
        start local 5 // java.lang.Object[] listeners
        15: .line 777
            aload 5 /* listeners */
            ifnull 49
            aload 5 /* listeners */
            arraylength
            ifle 49
        16: .line 779
            new jakarta.servlet.http.HttpSessionEvent
            dup
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getSession:()Ljakarta/servlet/http/HttpSession;
            invokespecial jakarta.servlet.http.HttpSessionEvent.<init>:(Ljakarta/servlet/http/HttpSession;)V
        17: .line 778
            astore 6 /* event */
        start local 6 // jakarta.servlet.http.HttpSessionEvent event
        18: .line 780
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        19: goto 44
        20: .line 781
      StackMap locals: org.apache.catalina.session.StandardSession int org.apache.catalina.session.StandardSession org.apache.catalina.Context java.lang.ClassLoader java.lang.Object[] jakarta.servlet.http.HttpSessionEvent int
      StackMap stack:
            aload 5 /* listeners */
            arraylength
            iconst_1
            isub
            iload 7 /* i */
            isub
            istore 8 /* j */
        start local 8 // int j
        21: .line 782
            aload 5 /* listeners */
            iload 8 /* j */
            aaload
            instanceof jakarta.servlet.http.HttpSessionListener
            ifne 23
        22: .line 783
            goto 43
        23: .line 785
      StackMap locals: int
      StackMap stack:
            aload 5 /* listeners */
            iload 8 /* j */
            aaload
            checkcast jakarta.servlet.http.HttpSessionListener
        24: .line 784
            astore 9 /* listener */
        start local 9 // jakarta.servlet.http.HttpSessionListener listener
        25: .line 787
            aload 3 /* context */
            ldc "beforeSessionDestroyed"
        26: .line 788
            aload 9 /* listener */
        27: .line 787
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        28: .line 789
            aload 9 /* listener */
            aload 6 /* event */
            invokeinterface jakarta.servlet.http.HttpSessionListener.sessionDestroyed:(Ljakarta/servlet/http/HttpSessionEvent;)V
        29: .line 790
            aload 3 /* context */
            ldc "afterSessionDestroyed"
        30: .line 791
            aload 9 /* listener */
        31: .line 790
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        32: .line 792
            goto 43
      StackMap locals: org.apache.catalina.session.StandardSession int org.apache.catalina.session.StandardSession org.apache.catalina.Context java.lang.ClassLoader java.lang.Object[] jakarta.servlet.http.HttpSessionEvent int int jakarta.servlet.http.HttpSessionListener
      StackMap stack: java.lang.Throwable
        33: astore 10 /* t */
        start local 10 // java.lang.Throwable t
        34: .line 793
            aload 10 /* t */
            invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
        35: .line 795
            aload 3 /* context */
        36: .line 796
            ldc "afterSessionDestroyed"
            aload 9 /* listener */
        37: .line 795
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        38: .line 797
            goto 40
      StackMap locals: org.apache.catalina.session.StandardSession int org.apache.catalina.session.StandardSession org.apache.catalina.Context java.lang.ClassLoader java.lang.Object[] jakarta.servlet.http.HttpSessionEvent int int jakarta.servlet.http.HttpSessionListener java.lang.Throwable
      StackMap stack: java.lang.Exception
        39: pop
        40: .line 800
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
        41: .line 801
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.sessionEvent"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 10 /* t */
        42: .line 800
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 10 // java.lang.Throwable t
        end local 9 // jakarta.servlet.http.HttpSessionListener listener
        end local 8 // int j
        43: .line 780
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 7 /* i */
            aload 5 /* listeners */
            arraylength
            if_icmplt 20
        end local 7 // int i
        end local 6 // jakarta.servlet.http.HttpSessionEvent event
        end local 5 // java.lang.Object[] listeners
        45: .line 805
            goto 49
      StackMap locals: org.apache.catalina.session.StandardSession int org.apache.catalina.session.StandardSession org.apache.catalina.Context java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
        46: astore 11
        47: .line 806
            aload 3 /* context */
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            aload 4 /* oldContextClassLoader */
            invokeinterface org.apache.catalina.Context.unbind:(ZLjava/lang/ClassLoader;)V
        48: .line 807
            aload 11
            athrow
        49: .line 806
      StackMap locals:
      StackMap stack:
            aload 3 /* context */
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            aload 4 /* oldContextClassLoader */
            invokeinterface org.apache.catalina.Context.unbind:(ZLjava/lang/ClassLoader;)V
        end local 4 // java.lang.ClassLoader oldContextClassLoader
        50: .line 810
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.activityCheck:Z
            ifeq 52
        51: .line 811
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.accessCount:Ljava/util/concurrent/atomic/AtomicInteger;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
        52: .line 815
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            aload 0 /* this */
            iconst_1
            invokeinterface org.apache.catalina.Manager.remove:(Lorg/apache/catalina/Session;Z)V
        53: .line 818
            iload 1 /* notify */
            ifeq 55
        54: .line 819
            aload 0 /* this */
            ldc "destroySession"
            aconst_null
            invokevirtual org.apache.catalina.session.StandardSession.fireSessionEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        55: .line 823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.principal:Ljava/security/Principal;
            instanceof org.apache.catalina.TomcatPrincipal
            ifeq 64
        56: .line 824
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.principal:Ljava/security/Principal;
            checkcast org.apache.catalina.TomcatPrincipal
            astore 4 /* gp */
        start local 4 // org.apache.catalina.TomcatPrincipal gp
        57: .line 826
            aload 4 /* gp */
            invokeinterface org.apache.catalina.TomcatPrincipal.logout:()V
        58: .line 827
            goto 64
      StackMap locals: org.apache.catalina.session.StandardSession int org.apache.catalina.session.StandardSession org.apache.catalina.Context org.apache.catalina.TomcatPrincipal
      StackMap stack: java.lang.Exception
        59: astore 5 /* e */
        start local 5 // java.lang.Exception e
        60: .line 828
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
        61: .line 829
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.logoutfail"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
        62: .line 830
            aload 5 /* e */
        63: .line 828
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 5 // java.lang.Exception e
        end local 4 // org.apache.catalina.TomcatPrincipal gp
        64: .line 835
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.catalina.session.StandardSession.setValid:(Z)V
        65: .line 836
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.session.StandardSession.expiring:Z
        66: .line 839
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.keys:()[Ljava/lang/String;
            astore 4 /* keys */
        start local 4 // java.lang.String[] keys
        67: .line 840
            aconst_null
            astore 5 /* oldContextClassLoader */
        start local 5 // java.lang.ClassLoader oldContextClassLoader
        68: .line 842
            aload 3 /* context */
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            aconst_null
            invokeinterface org.apache.catalina.Context.bind:(ZLjava/lang/ClassLoader;)Ljava/lang/ClassLoader;
            astore 5 /* oldContextClassLoader */
        69: .line 843
            aload 4 /* keys */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 73
      StackMap locals: org.apache.catalina.session.StandardSession int org.apache.catalina.session.StandardSession org.apache.catalina.Context java.lang.String[] java.lang.ClassLoader top int int java.lang.String[]
      StackMap stack:
        70: aload 9
            iload 7
            aaload
            astore 6 /* key */
        start local 6 // java.lang.String key
        71: .line 844
            aload 0 /* this */
            aload 6 /* key */
            iload 1 /* notify */
            invokevirtual org.apache.catalina.session.StandardSession.removeAttributeInternal:(Ljava/lang/String;Z)V
        end local 6 // java.lang.String key
        72: .line 843
            iinc 7 1
      StackMap locals:
      StackMap stack:
        73: iload 7
            iload 8
            if_icmplt 70
        74: .line 846
            goto 78
      StackMap locals: org.apache.catalina.session.StandardSession int org.apache.catalina.session.StandardSession org.apache.catalina.Context java.lang.String[] java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
        75: astore 10
        76: .line 847
            aload 3 /* context */
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            aload 5 /* oldContextClassLoader */
            invokeinterface org.apache.catalina.Context.unbind:(ZLjava/lang/ClassLoader;)V
        77: .line 848
            aload 10
            athrow
        78: .line 847
      StackMap locals:
      StackMap stack:
            aload 3 /* context */
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            aload 5 /* oldContextClassLoader */
            invokeinterface org.apache.catalina.Context.unbind:(ZLjava/lang/ClassLoader;)V
        end local 5 // java.lang.ClassLoader oldContextClassLoader
        end local 4 // java.lang.String[] keys
        end local 3 // org.apache.catalina.Context context
        79: .line 751
            aload 2
            monitorexit
        80: goto 83
      StackMap locals: org.apache.catalina.session.StandardSession int org.apache.catalina.session.StandardSession
      StackMap stack: java.lang.Throwable
        81: aload 2
            monitorexit
        82: athrow
        83: .line 851
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean notify
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   84     0                   this  Lorg/apache/catalina/session/StandardSession;
            0   84     1                 notify  Z
           11   79     3                context  Lorg/apache/catalina/Context;
           13   50     4  oldContextClassLoader  Ljava/lang/ClassLoader;
           15   45     5              listeners  [Ljava/lang/Object;
           18   45     6                  event  Ljakarta/servlet/http/HttpSessionEvent;
           19   45     7                      i  I
           21   43     8                      j  I
           25   43     9               listener  Ljakarta/servlet/http/HttpSessionListener;
           34   43    10                      t  Ljava/lang/Throwable;
           57   64     4                     gp  Lorg/apache/catalina/TomcatPrincipal;
           60   64     5                      e  Ljava/lang/Exception;
           67   79     4                   keys  [Ljava/lang/String;
           68   79     5  oldContextClassLoader  Ljava/lang/ClassLoader;
           71   72     6                    key  Ljava/lang/String;
      Exception table:
        from    to  target  type
          25    32      33  Class java.lang.Throwable
          35    38      39  Class java.lang.Exception
          13    46      46  any
          57    58      59  Class java.lang.Exception
          68    75      75  any
           3     5      81  any
           6     8      81  any
           9    80      81  any
          81    82      81  any
    MethodParameters:
        Name  Flags
      notify  

  public void passivate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 861
            aload 0 /* this */
            ldc "passivateSession"
            aconst_null
            invokevirtual org.apache.catalina.session.StandardSession.fireSessionEvent:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 864
            aconst_null
            astore 1 /* event */
        start local 1 // jakarta.servlet.http.HttpSessionEvent event
         2: .line 865
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.keys:()[Ljava/lang/String;
            astore 2 /* keys */
        start local 2 // java.lang.String[] keys
         3: .line 866
            aload 2 /* keys */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 15
      StackMap locals: org.apache.catalina.session.StandardSession jakarta.servlet.http.HttpSessionEvent java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* key */
        start local 3 // java.lang.String key
         5: .line 867
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.attributes:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* attribute */
        start local 7 // java.lang.Object attribute
         6: .line 868
            aload 7 /* attribute */
            instanceof jakarta.servlet.http.HttpSessionActivationListener
            ifeq 14
         7: .line 869
            aload 1 /* event */
            ifnonnull 9
         8: .line 870
            new jakarta.servlet.http.HttpSessionEvent
            dup
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getSession:()Ljakarta/servlet/http/HttpSession;
            invokespecial jakarta.servlet.http.HttpSessionEvent.<init>:(Ljakarta/servlet/http/HttpSession;)V
            astore 1 /* event */
         9: .line 872
      StackMap locals: org.apache.catalina.session.StandardSession jakarta.servlet.http.HttpSessionEvent java.lang.String[] java.lang.String int int java.lang.String[] java.lang.Object
      StackMap stack:
            aload 7 /* attribute */
            checkcast jakarta.servlet.http.HttpSessionActivationListener
            aload 1 /* event */
            invokeinterface jakarta.servlet.http.HttpSessionActivationListener.sessionWillPassivate:(Ljakarta/servlet/http/HttpSessionEvent;)V
        10: .line 873
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 8 /* t */
        start local 8 // java.lang.Throwable t
        12: .line 874
            aload 8 /* t */
            invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
        13: .line 875
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.attributeEvent"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 8 /* t */
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 8 // java.lang.Throwable t
        end local 7 // java.lang.Object attribute
        end local 3 // java.lang.String key
        14: .line 866
      StackMap locals: org.apache.catalina.session.StandardSession jakarta.servlet.http.HttpSessionEvent java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        15: iload 4
            iload 5
            if_icmplt 4
        16: .line 880
            return
        end local 2 // java.lang.String[] keys
        end local 1 // jakarta.servlet.http.HttpSessionEvent event
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/apache/catalina/session/StandardSession;
            2   17     1      event  Ljakarta/servlet/http/HttpSessionEvent;
            3   17     2       keys  [Ljava/lang/String;
            5   14     3        key  Ljava/lang/String;
            6   14     7  attribute  Ljava/lang/Object;
           12   14     8          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.Throwable

  public void activate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 890
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.activityCheck:Z
            ifeq 2
         1: .line 891
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putfield org.apache.catalina.session.StandardSession.accessCount:Ljava/util/concurrent/atomic/AtomicInteger;
         2: .line 895
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "activateSession"
            aconst_null
            invokevirtual org.apache.catalina.session.StandardSession.fireSessionEvent:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 898
            aconst_null
            astore 1 /* event */
        start local 1 // jakarta.servlet.http.HttpSessionEvent event
         4: .line 899
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.keys:()[Ljava/lang/String;
            astore 2 /* keys */
        start local 2 // java.lang.String[] keys
         5: .line 900
            aload 2 /* keys */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 17
      StackMap locals: org.apache.catalina.session.StandardSession jakarta.servlet.http.HttpSessionEvent java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         6: aload 6
            iload 4
            aaload
            astore 3 /* key */
        start local 3 // java.lang.String key
         7: .line 901
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.attributes:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* attribute */
        start local 7 // java.lang.Object attribute
         8: .line 902
            aload 7 /* attribute */
            instanceof jakarta.servlet.http.HttpSessionActivationListener
            ifeq 16
         9: .line 903
            aload 1 /* event */
            ifnonnull 11
        10: .line 904
            new jakarta.servlet.http.HttpSessionEvent
            dup
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getSession:()Ljakarta/servlet/http/HttpSession;
            invokespecial jakarta.servlet.http.HttpSessionEvent.<init>:(Ljakarta/servlet/http/HttpSession;)V
            astore 1 /* event */
        11: .line 906
      StackMap locals: org.apache.catalina.session.StandardSession jakarta.servlet.http.HttpSessionEvent java.lang.String[] java.lang.String int int java.lang.String[] java.lang.Object
      StackMap stack:
            aload 7 /* attribute */
            checkcast jakarta.servlet.http.HttpSessionActivationListener
            aload 1 /* event */
            invokeinterface jakarta.servlet.http.HttpSessionActivationListener.sessionDidActivate:(Ljakarta/servlet/http/HttpSessionEvent;)V
        12: .line 907
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 8 /* t */
        start local 8 // java.lang.Throwable t
        14: .line 908
            aload 8 /* t */
            invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
        15: .line 909
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.attributeEvent"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 8 /* t */
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 8 // java.lang.Throwable t
        end local 7 // java.lang.Object attribute
        end local 3 // java.lang.String key
        16: .line 900
      StackMap locals: org.apache.catalina.session.StandardSession jakarta.servlet.http.HttpSessionEvent java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        17: iload 4
            iload 5
            if_icmplt 6
        18: .line 913
            return
        end local 2 // java.lang.String[] keys
        end local 1 // jakarta.servlet.http.HttpSessionEvent event
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0       this  Lorg/apache/catalina/session/StandardSession;
            4   19     1      event  Ljakarta/servlet/http/HttpSessionEvent;
            5   19     2       keys  [Ljava/lang/String;
            7   16     3        key  Ljava/lang/String;
            8   16     7  attribute  Ljava/lang/Object;
           14   16     8          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          11    12      13  Class java.lang.Throwable

  public java.lang.Object getNote(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String name
         0: .line 924
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.notes:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/session/StandardSession;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.util.Iterator<java.lang.String> getNoteNames();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 934
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.notes:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/session/StandardSession;
    Signature: ()Ljava/util/Iterator<Ljava/lang/String;>;

  public void recycle();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 946
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.attributes:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
         1: .line 947
            aload 0 /* this */
            aconst_null
            invokevirtual org.apache.catalina.session.StandardSession.setAuthType:(Ljava/lang/String;)V
         2: .line 948
            aload 0 /* this */
            lconst_0
            putfield org.apache.catalina.session.StandardSession.creationTime:J
         3: .line 949
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.session.StandardSession.expiring:Z
         4: .line 950
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
         5: .line 951
            aload 0 /* this */
            lconst_0
            putfield org.apache.catalina.session.StandardSession.lastAccessedTime:J
         6: .line 952
            aload 0 /* this */
            iconst_m1
            putfield org.apache.catalina.session.StandardSession.maxInactiveInterval:I
         7: .line 953
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.notes:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         8: .line 954
            aload 0 /* this */
            aconst_null
            invokevirtual org.apache.catalina.session.StandardSession.setPrincipal:(Ljava/security/Principal;)V
         9: .line 955
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.session.StandardSession.isNew:Z
        10: .line 956
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.session.StandardSession.isValid:Z
        11: .line 957
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
        12: .line 959
            return
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/apache/catalina/session/StandardSession;

  public void removeNote(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String name
         0: .line 971
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.notes:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 973
            return
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/catalina/session/StandardSession;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void removeSessionListener(org.apache.catalina.SessionListener);
    descriptor: (Lorg/apache/catalina/SessionListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // org.apache.catalina.SessionListener listener
         0: .line 982
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.listeners:Ljava/util/ArrayList;
            aload 1 /* listener */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 984
            return
        end local 1 // org.apache.catalina.SessionListener listener
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/catalina/session/StandardSession;
            0    2     1  listener  Lorg/apache/catalina/SessionListener;
    MethodParameters:
          Name  Flags
      listener  

  public void setNote(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object value
         0: .line 997
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.notes:Ljava/util/Map;
            aload 1 /* name */
            aload 2 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 999
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/catalina/session/StandardSession;
            0    2     1   name  Ljava/lang/String;
            0    2     2  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      name   
      value  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 1007
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 1008
            aload 1 /* sb */
            ldc "StandardSession["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 1009
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 1010
            aload 1 /* sb */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 1011
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/session/StandardSession;
            1    5     1    sb  Ljava/lang/StringBuilder;

  public void readObjectData(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.io.ObjectInputStream stream
         0: .line 1031
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual org.apache.catalina.session.StandardSession.doReadObject:(Ljava/io/ObjectInputStream;)V
         1: .line 1033
            return
        end local 1 // java.io.ObjectInputStream stream
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/catalina/session/StandardSession;
            0    2     1  stream  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.lang.ClassNotFoundException, java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  public void writeObjectData(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.io.ObjectOutputStream stream
         0: .line 1048
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual org.apache.catalina.session.StandardSession.doWriteObject:(Ljava/io/ObjectOutputStream;)V
         1: .line 1050
            return
        end local 1 // java.io.ObjectOutputStream stream
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/catalina/session/StandardSession;
            0    2     1  stream  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  public long getCreationTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 1065
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.isValidInternal:()Z
            ifne 4
         1: .line 1066
            new java.lang.IllegalStateException
            dup
         2: .line 1067
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.getCreationTime.ise"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 1066
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1069
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.creationTime:J
            lreturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/session/StandardSession;

  public long getCreationTimeInternal();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 1079
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.creationTime:J
            lreturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/session/StandardSession;

  public jakarta.servlet.ServletContext getServletContext();
    descriptor: ()Ljakarta/servlet/ServletContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 1088
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            ifnonnull 2
         1: .line 1089
            aconst_null
            areturn
         2: .line 1091
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            astore 1 /* context */
        start local 1 // org.apache.catalina.Context context
         3: .line 1092
            aload 1 /* context */
            invokeinterface org.apache.catalina.Context.getServletContext:()Ljakarta/servlet/ServletContext;
            areturn
        end local 1 // org.apache.catalina.Context context
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/apache/catalina/session/StandardSession;
            3    4     1  context  Lorg/apache/catalina/Context;

  public jakarta.servlet.http.HttpSessionContext getSessionContext();
    descriptor: ()Ljakarta/servlet/http/HttpSessionContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 1106
            getstatic org.apache.catalina.session.StandardSession.sessionContext:Ljakarta/servlet/http/HttpSessionContext;
            ifnonnull 2
         1: .line 1107
            new org.apache.catalina.session.StandardSessionContext
            dup
            invokespecial org.apache.catalina.session.StandardSessionContext.<init>:()V
            putstatic org.apache.catalina.session.StandardSession.sessionContext:Ljakarta/servlet/http/HttpSessionContext;
         2: .line 1108
      StackMap locals:
      StackMap stack:
            getstatic org.apache.catalina.session.StandardSession.sessionContext:Ljakarta/servlet/http/HttpSessionContext;
            areturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/catalina/session/StandardSession;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.lang.Object getAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String name
         0: .line 1126
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.isValidInternal:()Z
            ifne 4
         1: .line 1127
            new java.lang.IllegalStateException
            dup
         2: .line 1128
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.getAttribute.ise"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 1127
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1130
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ifnonnull 5
            aconst_null
            areturn
         5: .line 1132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.attributes:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* name */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/catalina/session/StandardSession;
            0    6     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.util.Enumeration<java.lang.String> getAttributeNames();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 1146
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.isValidInternal:()Z
            ifne 4
         1: .line 1147
            new java.lang.IllegalStateException
            dup
         2: .line 1148
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.getAttributeNames.ise"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 1147
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1150
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.attributes:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.keySet:()Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 1 /* names */
        start local 1 // java.util.Set names
         5: .line 1151
            aload 1 /* names */
            invokestatic java.util.Collections.enumeration:(Ljava/util/Collection;)Ljava/util/Enumeration;
            areturn
        end local 1 // java.util.Set names
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/apache/catalina/session/StandardSession;
            5    6     1  names  Ljava/util/Set<Ljava/lang/String;>;
    Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;

  public java.lang.Object getValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String name
         0: .line 1171
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.apache.catalina.session.StandardSession.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/session/StandardSession;
            0    1     1  name  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String[] getValueNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 1189
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.isValidInternal:()Z
            ifne 4
         1: .line 1190
            new java.lang.IllegalStateException
            dup
         2: .line 1191
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.getValueNames.ise"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 1190
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.keys:()[Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/session/StandardSession;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void invalidate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 1206
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.isValidInternal:()Z
            ifne 4
         1: .line 1207
            new java.lang.IllegalStateException
            dup
         2: .line 1208
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.invalidate.ise"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 1207
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.expire:()V
         5: .line 1213
            return
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/catalina/session/StandardSession;

  public boolean isNew();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 1228
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.isValidInternal:()Z
            ifne 4
         1: .line 1229
            new java.lang.IllegalStateException
            dup
         2: .line 1230
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.isNew.ise"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 1229
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.isNew:Z
            ireturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/session/StandardSession;

  public void putValue(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object value
         0: .line 1258
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual org.apache.catalina.session.StandardSession.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1260
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/catalina/session/StandardSession;
            0    2     1   name  Ljava/lang/String;
            0    2     2  value  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      name   
      value  

  public void removeAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String name
         0: .line 1280
            aload 0 /* this */
            aload 1 /* name */
            iconst_1
            invokevirtual org.apache.catalina.session.StandardSession.removeAttribute:(Ljava/lang/String;Z)V
         1: .line 1282
            return
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/catalina/session/StandardSession;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void removeAttribute(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String name
        start local 2 // boolean notify
         0: .line 1304
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.isValidInternal:()Z
            ifne 4
         1: .line 1305
            new java.lang.IllegalStateException
            dup
         2: .line 1306
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.removeAttribute.ise"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 1305
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* notify */
            invokevirtual org.apache.catalina.session.StandardSession.removeAttributeInternal:(Ljava/lang/String;Z)V
         5: .line 1310
            return
        end local 2 // boolean notify
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/catalina/session/StandardSession;
            0    6     1    name  Ljava/lang/String;
            0    6     2  notify  Z
    MethodParameters:
        Name  Flags
      name    
      notify  

  public void removeValue(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String name
         0: .line 1334
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.apache.catalina.session.StandardSession.removeAttribute:(Ljava/lang/String;)V
         1: .line 1336
            return
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/catalina/session/StandardSession;
            0    2     1  name  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      name  

  public void setAttribute(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object value
         0: .line 1358
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            iconst_1
            invokevirtual org.apache.catalina.session.StandardSession.setAttribute:(Ljava/lang/String;Ljava/lang/Object;Z)V
         1: .line 1359
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/catalina/session/StandardSession;
            0    2     1   name  Ljava/lang/String;
            0    2     2  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      name   
      value  

  public void setAttribute(java.lang.String, java.lang.Object, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=14, args_size=4
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object value
        start local 3 // boolean notify
         0: .line 1382
            aload 1 /* name */
            ifnonnull 4
         1: .line 1383
            new java.lang.IllegalArgumentException
            dup
         2: .line 1384
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.setAttribute.namenull"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 1383
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1388
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ifnonnull 7
         5: .line 1389
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.apache.catalina.session.StandardSession.removeAttribute:(Ljava/lang/String;)V
         6: .line 1390
            return
         7: .line 1394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.isValidInternal:()Z
            ifne 11
         8: .line 1395
            new java.lang.IllegalStateException
            dup
         9: .line 1396
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.setAttribute.ise"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getIdInternal:()Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        10: .line 1395
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1399
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            astore 4 /* context */
        start local 4 // org.apache.catalina.Context context
        12: .line 1401
            aload 4 /* context */
            invokeinterface org.apache.catalina.Context.getDistributable:()Z
            ifeq 14
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual org.apache.catalina.session.StandardSession.isAttributeDistributable:(Ljava/lang/String;Ljava/lang/Object;)Z
            ifne 14
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual org.apache.catalina.session.StandardSession.exclude:(Ljava/lang/String;Ljava/lang/Object;)Z
            ifne 14
        13: .line 1402
            new java.lang.IllegalArgumentException
            dup
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.setAttribute.iae"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 1405
      StackMap locals: org.apache.catalina.Context
      StackMap stack:
            aconst_null
            astore 5 /* event */
        start local 5 // jakarta.servlet.http.HttpSessionBindingEvent event
        15: .line 1408
            iload 3 /* notify */
            ifeq 25
            aload 2 /* value */
            instanceof jakarta.servlet.http.HttpSessionBindingListener
            ifeq 25
        16: .line 1411
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.attributes:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* name */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* oldValue */
        start local 6 // java.lang.Object oldValue
        17: .line 1412
            aload 2 /* value */
            aload 6 /* oldValue */
            if_acmpne 18
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getNotifyBindingListenerOnUnchangedValue:()Z
            ifeq 25
        18: .line 1413
      StackMap locals: jakarta.servlet.http.HttpSessionBindingEvent java.lang.Object
      StackMap stack:
            new jakarta.servlet.http.HttpSessionBindingEvent
            dup
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getSession:()Ljakarta/servlet/http/HttpSession;
            aload 1 /* name */
            aload 2 /* value */
            invokespecial jakarta.servlet.http.HttpSessionBindingEvent.<init>:(Ljakarta/servlet/http/HttpSession;Ljava/lang/String;Ljava/lang/Object;)V
            astore 5 /* event */
        19: .line 1415
            aload 2 /* value */
            checkcast jakarta.servlet.http.HttpSessionBindingListener
            aload 5 /* event */
            invokeinterface jakarta.servlet.http.HttpSessionBindingListener.valueBound:(Ljakarta/servlet/http/HttpSessionBindingEvent;)V
        20: .line 1416
            goto 25
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 7 /* t */
        start local 7 // java.lang.Throwable t
        22: .line 1417
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
        23: .line 1418
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.bindingEvent"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 7 /* t */
        24: .line 1417
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 7 // java.lang.Throwable t
        end local 6 // java.lang.Object oldValue
        25: .line 1424
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.attributes:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* name */
            aload 2 /* value */
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* unbound */
        start local 6 // java.lang.Object unbound
        26: .line 1427
            iload 3 /* notify */
            ifeq 37
            aload 6 /* unbound */
            instanceof jakarta.servlet.http.HttpSessionBindingListener
            ifeq 37
        27: .line 1430
            aload 6 /* unbound */
            aload 2 /* value */
            if_acmpne 28
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getNotifyBindingListenerOnUnchangedValue:()Z
            ifeq 37
        28: .line 1432
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 6 /* unbound */
            checkcast jakarta.servlet.http.HttpSessionBindingListener
        29: .line 1433
            new jakarta.servlet.http.HttpSessionBindingEvent
            dup
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getSession:()Ljakarta/servlet/http/HttpSession;
            aload 1 /* name */
            invokespecial jakarta.servlet.http.HttpSessionBindingEvent.<init>:(Ljakarta/servlet/http/HttpSession;Ljava/lang/String;)V
        30: .line 1432
            invokeinterface jakarta.servlet.http.HttpSessionBindingListener.valueUnbound:(Ljakarta/servlet/http/HttpSessionBindingEvent;)V
        31: .line 1434
            goto 37
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 7 /* t */
        start local 7 // java.lang.Throwable t
        33: .line 1435
            aload 7 /* t */
            invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
        34: .line 1436
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
        35: .line 1437
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.bindingEvent"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 7 /* t */
        36: .line 1436
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 7 // java.lang.Throwable t
        37: .line 1442
      StackMap locals:
      StackMap stack:
            iload 3 /* notify */
            ifne 39
        38: .line 1443
            return
        39: .line 1447
      StackMap locals:
      StackMap stack:
            aload 4 /* context */
            invokeinterface org.apache.catalina.Context.getApplicationEventListeners:()[Ljava/lang/Object;
            astore 7 /* listeners */
        start local 7 // java.lang.Object[] listeners
        40: .line 1448
            aload 7 /* listeners */
            ifnonnull 42
        41: .line 1449
            return
        42: .line 1451
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 7 /* listeners */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 75
      StackMap locals: org.apache.catalina.session.StandardSession java.lang.String java.lang.Object int org.apache.catalina.Context jakarta.servlet.http.HttpSessionBindingEvent java.lang.Object java.lang.Object[] top int int java.lang.Object[]
      StackMap stack:
        43: aload 11
            iload 9
            aaload
            astore 8 /* o */
        start local 8 // java.lang.Object o
        44: .line 1452
            aload 8 /* o */
            instanceof jakarta.servlet.http.HttpSessionAttributeListener
            ifne 46
        45: .line 1453
            goto 74
        46: .line 1455
      StackMap locals: org.apache.catalina.session.StandardSession java.lang.String java.lang.Object int org.apache.catalina.Context jakarta.servlet.http.HttpSessionBindingEvent java.lang.Object java.lang.Object[] java.lang.Object int int java.lang.Object[]
      StackMap stack:
            aload 8 /* o */
            checkcast jakarta.servlet.http.HttpSessionAttributeListener
            astore 12 /* listener */
        start local 12 // jakarta.servlet.http.HttpSessionAttributeListener listener
        47: .line 1457
            aload 6 /* unbound */
            ifnull 55
        48: .line 1458
            aload 6 /* unbound */
            aload 2 /* value */
            if_acmpne 49
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getNotifyAttributeListenerOnUnchangedValue:()Z
            ifeq 74
        49: .line 1459
      StackMap locals: jakarta.servlet.http.HttpSessionAttributeListener
      StackMap stack:
            aload 4 /* context */
            ldc "beforeSessionAttributeReplaced"
            aload 12 /* listener */
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        50: .line 1460
            aload 5 /* event */
            ifnonnull 52
        51: .line 1461
            new jakarta.servlet.http.HttpSessionBindingEvent
            dup
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getSession:()Ljakarta/servlet/http/HttpSession;
            aload 1 /* name */
            aload 6 /* unbound */
            invokespecial jakarta.servlet.http.HttpSessionBindingEvent.<init>:(Ljakarta/servlet/http/HttpSession;Ljava/lang/String;Ljava/lang/Object;)V
            astore 5 /* event */
        52: .line 1463
      StackMap locals:
      StackMap stack:
            aload 12 /* listener */
            aload 5 /* event */
            invokeinterface jakarta.servlet.http.HttpSessionAttributeListener.attributeReplaced:(Ljakarta/servlet/http/HttpSessionBindingEvent;)V
        53: .line 1464
            aload 4 /* context */
            ldc "afterSessionAttributeReplaced"
            aload 12 /* listener */
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        54: .line 1466
            goto 74
        55: .line 1467
      StackMap locals:
      StackMap stack:
            aload 4 /* context */
            ldc "beforeSessionAttributeAdded"
            aload 12 /* listener */
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        56: .line 1468
            aload 5 /* event */
            ifnonnull 58
        57: .line 1469
            new jakarta.servlet.http.HttpSessionBindingEvent
            dup
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getSession:()Ljakarta/servlet/http/HttpSession;
            aload 1 /* name */
            aload 2 /* value */
            invokespecial jakarta.servlet.http.HttpSessionBindingEvent.<init>:(Ljakarta/servlet/http/HttpSession;Ljava/lang/String;Ljava/lang/Object;)V
            astore 5 /* event */
        58: .line 1471
      StackMap locals:
      StackMap stack:
            aload 12 /* listener */
            aload 5 /* event */
            invokeinterface jakarta.servlet.http.HttpSessionAttributeListener.attributeAdded:(Ljakarta/servlet/http/HttpSessionBindingEvent;)V
        59: .line 1472
            aload 4 /* context */
            ldc "afterSessionAttributeAdded"
            aload 12 /* listener */
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        60: .line 1474
            goto 74
      StackMap locals:
      StackMap stack: java.lang.Throwable
        61: astore 13 /* t */
        start local 13 // java.lang.Throwable t
        62: .line 1475
            aload 13 /* t */
            invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
        63: .line 1477
            aload 6 /* unbound */
            ifnull 68
        64: .line 1478
            aload 6 /* unbound */
            aload 2 /* value */
            if_acmpne 66
        65: .line 1479
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getNotifyAttributeListenerOnUnchangedValue:()Z
            ifeq 71
        66: .line 1480
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 4 /* context */
            ldc "afterSessionAttributeReplaced"
            aload 12 /* listener */
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        67: .line 1482
            goto 71
        68: .line 1483
      StackMap locals:
      StackMap stack:
            aload 4 /* context */
            ldc "afterSessionAttributeAdded"
            aload 12 /* listener */
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        69: .line 1485
            goto 71
      StackMap locals:
      StackMap stack: java.lang.Exception
        70: pop
        71: .line 1488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
        72: .line 1489
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.attributeEvent"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 13 /* t */
        73: .line 1488
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 13 // java.lang.Throwable t
        end local 12 // jakarta.servlet.http.HttpSessionAttributeListener listener
        end local 8 // java.lang.Object o
        74: .line 1451
      StackMap locals: org.apache.catalina.session.StandardSession java.lang.String java.lang.Object int org.apache.catalina.Context jakarta.servlet.http.HttpSessionBindingEvent java.lang.Object java.lang.Object[] top int int java.lang.Object[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        75: iload 9
            iload 10
            if_icmplt 43
        76: .line 1492
            return
        end local 7 // java.lang.Object[] listeners
        end local 6 // java.lang.Object unbound
        end local 5 // jakarta.servlet.http.HttpSessionBindingEvent event
        end local 4 // org.apache.catalina.Context context
        end local 3 // boolean notify
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   77     0       this  Lorg/apache/catalina/session/StandardSession;
            0   77     1       name  Ljava/lang/String;
            0   77     2      value  Ljava/lang/Object;
            0   77     3     notify  Z
           12   77     4    context  Lorg/apache/catalina/Context;
           15   77     5      event  Ljakarta/servlet/http/HttpSessionBindingEvent;
           17   25     6   oldValue  Ljava/lang/Object;
           22   25     7          t  Ljava/lang/Throwable;
           26   77     6    unbound  Ljava/lang/Object;
           33   37     7          t  Ljava/lang/Throwable;
           40   77     7  listeners  [Ljava/lang/Object;
           44   74     8          o  Ljava/lang/Object;
           47   74    12   listener  Ljakarta/servlet/http/HttpSessionAttributeListener;
           62   74    13          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          19    20      21  Class java.lang.Throwable
          28    31      32  Class java.lang.Throwable
          47    60      61  Class java.lang.Throwable
          63    69      70  Class java.lang.Exception
    MethodParameters:
        Name  Flags
      name    
      value   
      notify  

  protected boolean isValidInternal();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 1502
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.isValid:Z
            ireturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/session/StandardSession;

  public boolean isAttributeDistributable(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object value
         0: .line 1514
            aload 2 /* value */
            instanceof java.io.Serializable
            ireturn
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/catalina/session/StandardSession;
            0    1     1   name  Ljava/lang/String;
            0    1     2  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      name   
      value  

  protected void doReadObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.io.ObjectInputStream stream
         0: .line 1534
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.session.StandardSession.authType:Ljava/lang/String;
         1: .line 1535
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            putfield org.apache.catalina.session.StandardSession.creationTime:J
         2: .line 1536
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            putfield org.apache.catalina.session.StandardSession.lastAccessedTime:J
         3: .line 1537
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            putfield org.apache.catalina.session.StandardSession.maxInactiveInterval:I
         4: .line 1538
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.apache.catalina.session.StandardSession.isNew:Z
         5: .line 1539
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.apache.catalina.session.StandardSession.isValid:Z
         6: .line 1540
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            putfield org.apache.catalina.session.StandardSession.thisAccessedTime:J
         7: .line 1541
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.session.StandardSession.principal:Ljava/security/Principal;
         8: .line 1543
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.lang.String
            putfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
         9: .line 1544
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 13
        10: .line 1545
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
        11: .line 1546
            new java.lang.StringBuilder
            dup
            ldc "readObject() loading session "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 1545
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        13: .line 1550
      StackMap locals:
      StackMap stack:
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            astore 2 /* nextObject */
        start local 2 // java.lang.Object nextObject
        14: .line 1551
            aload 2 /* nextObject */
            instanceof java.lang.Integer
            ifne 26
        15: .line 1552
            aload 0 /* this */
            aload 2 /* nextObject */
            checkcast java.lang.String
            invokevirtual org.apache.catalina.session.StandardSession.setAuthType:(Ljava/lang/String;)V
        16: .line 1554
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.security.Principal
            invokevirtual org.apache.catalina.session.StandardSession.setPrincipal:(Ljava/security/Principal;)V
        17: .line 1555
            goto 25
      StackMap locals: org.apache.catalina.session.StandardSession java.io.ObjectInputStream java.lang.Object
      StackMap stack: java.lang.Exception
        18: astore 3 /* e */
        start local 3 // java.lang.Exception e
        19: .line 1556
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.principalNotDeserializable"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* msg */
        start local 4 // java.lang.String msg
        20: .line 1557
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 23
        21: .line 1558
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            aload 4 /* msg */
            aload 3 /* e */
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        22: .line 1559
            goto 24
        23: .line 1560
      StackMap locals: java.lang.Exception java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            aload 4 /* msg */
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        24: .line 1562
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 4 // java.lang.String msg
        end local 3 // java.lang.Exception e
        25: .line 1565
      StackMap locals:
      StackMap stack:
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            astore 2 /* nextObject */
        26: .line 1569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.attributes:Ljava/util/concurrent/ConcurrentMap;
            ifnonnull 28
        27: .line 1570
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.apache.catalina.session.StandardSession.attributes:Ljava/util/concurrent/ConcurrentMap;
        28: .line 1571
      StackMap locals:
      StackMap stack:
            aload 2 /* nextObject */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* n */
        start local 3 // int n
        29: .line 1572
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.isValid:Z
            istore 4 /* isValidSave */
        start local 4 // boolean isValidSave
        30: .line 1573
            aload 0 /* this */
            iconst_1
            putfield org.apache.catalina.session.StandardSession.isValid:Z
        31: .line 1574
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        32: goto 54
        33: .line 1575
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* name */
        start local 6 // java.lang.String name
        34: .line 1578
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            astore 7 /* value */
        start local 7 // java.lang.Object value
        35: .line 1579
            goto 45
        end local 7 // java.lang.Object value
      StackMap locals: org.apache.catalina.session.StandardSession java.io.ObjectInputStream java.lang.Object int int int java.lang.String
      StackMap stack: java.io.WriteAbortedException
        36: astore 8 /* wae */
        start local 8 // java.io.WriteAbortedException wae
        37: .line 1580
            aload 8 /* wae */
            invokevirtual java.io.WriteAbortedException.getCause:()Ljava/lang/Throwable;
            instanceof java.io.NotSerializableException
            ifeq 44
        38: .line 1581
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.notDeserializable"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* name */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 9 /* msg */
        start local 9 // java.lang.String msg
        39: .line 1582
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 42
        40: .line 1583
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            aload 9 /* msg */
            aload 8 /* wae */
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        41: .line 1584
            goto 53
        42: .line 1585
      StackMap locals: org.apache.catalina.session.StandardSession java.io.ObjectInputStream java.lang.Object int int int java.lang.String top java.io.WriteAbortedException java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            aload 9 /* msg */
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        43: .line 1588
            goto 53
        end local 9 // java.lang.String msg
        44: .line 1590
      StackMap locals:
      StackMap stack:
            aload 8 /* wae */
            athrow
        end local 8 // java.io.WriteAbortedException wae
        start local 7 // java.lang.Object value
        45: .line 1592
      StackMap locals: org.apache.catalina.session.StandardSession java.io.ObjectInputStream java.lang.Object int int int java.lang.String java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 49
        46: .line 1593
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "  loading attribute '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        47: .line 1594
            ldc "' with value '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        48: .line 1593
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        49: .line 1597
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* name */
            aload 7 /* value */
            invokevirtual org.apache.catalina.session.StandardSession.exclude:(Ljava/lang/String;Ljava/lang/Object;)Z
            ifeq 51
        50: .line 1598
            goto 53
        51: .line 1601
      StackMap locals:
      StackMap stack:
            aload 7 /* value */
            ifnull 53
        52: .line 1602
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.attributes:Ljava/util/concurrent/ConcurrentMap;
            aload 6 /* name */
            aload 7 /* value */
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.lang.Object value
        end local 6 // java.lang.String name
        53: .line 1574
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        54: iload 5 /* i */
            iload 3 /* n */
            if_icmplt 33
        end local 5 // int i
        55: .line 1604
            aload 0 /* this */
            iload 4 /* isValidSave */
            putfield org.apache.catalina.session.StandardSession.isValid:Z
        56: .line 1606
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.listeners:Ljava/util/ArrayList;
            ifnonnull 58
        57: .line 1607
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.apache.catalina.session.StandardSession.listeners:Ljava/util/ArrayList;
        58: .line 1610
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.notes:Ljava/util/Map;
            ifnonnull 60
        59: .line 1611
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield org.apache.catalina.session.StandardSession.notes:Ljava/util/Map;
        60: .line 1613
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean isValidSave
        end local 3 // int n
        end local 2 // java.lang.Object nextObject
        end local 1 // java.io.ObjectInputStream stream
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   61     0         this  Lorg/apache/catalina/session/StandardSession;
            0   61     1       stream  Ljava/io/ObjectInputStream;
           14   61     2   nextObject  Ljava/lang/Object;
           19   25     3            e  Ljava/lang/Exception;
           20   25     4          msg  Ljava/lang/String;
           29   61     3            n  I
           30   61     4  isValidSave  Z
           32   55     5            i  I
           34   53     6         name  Ljava/lang/String;
           35   36     7        value  Ljava/lang/Object;
           45   53     7        value  Ljava/lang/Object;
           37   45     8          wae  Ljava/io/WriteAbortedException;
           39   44     9          msg  Ljava/lang/String;
      Exception table:
        from    to  target  type
          16    17      18  Class java.lang.ClassNotFoundException
          16    17      18  Class java.io.ObjectStreamException
          34    35      36  Class java.io.WriteAbortedException
    Exceptions:
      throws java.lang.ClassNotFoundException, java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  protected void doWriteObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=12, args_size=2
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.io.ObjectOutputStream stream
         0: .line 1638
            aload 1 /* stream */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.creationTime:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         1: .line 1639
            aload 1 /* stream */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.lastAccessedTime:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         2: .line 1640
            aload 1 /* stream */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.maxInactiveInterval:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         3: .line 1641
            aload 1 /* stream */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.isNew:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         4: .line 1642
            aload 1 /* stream */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.isValid:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         5: .line 1643
            aload 1 /* stream */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.thisAccessedTime:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         6: .line 1644
            aload 1 /* stream */
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         7: .line 1645
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 11
         8: .line 1646
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
         9: .line 1647
            new java.lang.StringBuilder
            dup
            ldc "writeObject() storing session "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 1646
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        11: .line 1650
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* sessionAuthType */
        start local 2 // java.lang.String sessionAuthType
        12: .line 1651
            aconst_null
            astore 3 /* sessionPrincipal */
        start local 3 // java.security.Principal sessionPrincipal
        13: .line 1652
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getPersistAuthentication:()Z
            ifeq 21
        14: .line 1653
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getAuthType:()Ljava/lang/String;
            astore 2 /* sessionAuthType */
        15: .line 1654
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getPrincipal:()Ljava/security/Principal;
            astore 3 /* sessionPrincipal */
        16: .line 1655
            aload 3 /* sessionPrincipal */
            instanceof java.io.Serializable
            ifne 21
        17: .line 1656
            aconst_null
            astore 3 /* sessionPrincipal */
        18: .line 1657
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
        19: .line 1658
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.principalNotSerializable"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        20: .line 1657
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        21: .line 1663
      StackMap locals: java.lang.String java.security.Principal
      StackMap stack:
            aload 1 /* stream */
            aload 2 /* sessionAuthType */
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
        22: .line 1665
            aload 1 /* stream */
            aload 3 /* sessionPrincipal */
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
        23: .line 1666
            goto 28
      StackMap locals:
      StackMap stack: java.io.NotSerializableException
        24: astore 4 /* e */
        start local 4 // java.io.NotSerializableException e
        25: .line 1667
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
        26: .line 1668
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.principalNotSerializable"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 4 /* e */
        27: .line 1667
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 4 // java.io.NotSerializableException e
        28: .line 1672
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.keys:()[Ljava/lang/String;
            astore 4 /* keys */
        start local 4 // java.lang.String[] keys
        29: .line 1673
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* saveNames */
        start local 5 // java.util.List saveNames
        30: .line 1674
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* saveValues */
        start local 6 // java.util.List saveValues
        31: .line 1675
            aload 4 /* keys */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 42
      StackMap locals: org.apache.catalina.session.StandardSession java.io.ObjectOutputStream java.lang.String java.security.Principal java.lang.String[] java.util.List java.util.List top int int java.lang.String[]
      StackMap stack:
        32: aload 10
            iload 8
            aaload
            astore 7 /* key */
        start local 7 // java.lang.String key
        33: .line 1676
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.attributes:Ljava/util/concurrent/ConcurrentMap;
            aload 7 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 11 /* value */
        start local 11 // java.lang.Object value
        34: .line 1677
            aload 11 /* value */
            ifnonnull 36
        35: .line 1678
            goto 41
        36: .line 1679
      StackMap locals: org.apache.catalina.session.StandardSession java.io.ObjectOutputStream java.lang.String java.security.Principal java.lang.String[] java.util.List java.util.List java.lang.String int int java.lang.String[] java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 7 /* key */
            aload 11 /* value */
            invokevirtual org.apache.catalina.session.StandardSession.isAttributeDistributable:(Ljava/lang/String;Ljava/lang/Object;)Z
            ifeq 40
            aload 0 /* this */
            aload 7 /* key */
            aload 11 /* value */
            invokevirtual org.apache.catalina.session.StandardSession.exclude:(Ljava/lang/String;Ljava/lang/Object;)Z
            ifne 40
        37: .line 1680
            aload 5 /* saveNames */
            aload 7 /* key */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        38: .line 1681
            aload 6 /* saveValues */
            aload 11 /* value */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        39: .line 1682
            goto 41
        40: .line 1683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* key */
            iconst_1
            invokevirtual org.apache.catalina.session.StandardSession.removeAttributeInternal:(Ljava/lang/String;Z)V
        end local 11 // java.lang.Object value
        end local 7 // java.lang.String key
        41: .line 1675
      StackMap locals: org.apache.catalina.session.StandardSession java.io.ObjectOutputStream java.lang.String java.security.Principal java.lang.String[] java.util.List java.util.List top int int java.lang.String[]
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        42: iload 8
            iload 9
            if_icmplt 32
        43: .line 1688
            aload 5 /* saveNames */
            invokeinterface java.util.List.size:()I
            istore 7 /* n */
        start local 7 // int n
        44: .line 1689
            aload 1 /* stream */
            iload 7 /* n */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
        45: .line 1690
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        46: goto 59
        47: .line 1691
      StackMap locals: org.apache.catalina.session.StandardSession java.io.ObjectOutputStream java.lang.String java.security.Principal java.lang.String[] java.util.List java.util.List int int
      StackMap stack:
            aload 1 /* stream */
            aload 5 /* saveNames */
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
        48: .line 1693
            aload 1 /* stream */
            aload 6 /* saveValues */
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
        49: .line 1694
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 58
        50: .line 1695
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
        51: .line 1696
            new java.lang.StringBuilder
            dup
            ldc "  storing attribute '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* saveNames */
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' with value '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* saveValues */
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        52: .line 1695
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        53: .line 1697
            goto 58
      StackMap locals:
      StackMap stack: java.io.NotSerializableException
        54: astore 9 /* e */
        start local 9 // java.io.NotSerializableException e
        55: .line 1698
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
        56: .line 1699
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.notSerializable"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* saveNames */
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.id:Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 9 /* e */
        57: .line 1698
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 9 // java.io.NotSerializableException e
        58: .line 1690
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        59: iload 8 /* i */
            iload 7 /* n */
            if_icmplt 47
        end local 8 // int i
        60: .line 1703
            return
        end local 7 // int n
        end local 6 // java.util.List saveValues
        end local 5 // java.util.List saveNames
        end local 4 // java.lang.String[] keys
        end local 3 // java.security.Principal sessionPrincipal
        end local 2 // java.lang.String sessionAuthType
        end local 1 // java.io.ObjectOutputStream stream
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   61     0              this  Lorg/apache/catalina/session/StandardSession;
            0   61     1            stream  Ljava/io/ObjectOutputStream;
           12   61     2   sessionAuthType  Ljava/lang/String;
           13   61     3  sessionPrincipal  Ljava/security/Principal;
           25   28     4                 e  Ljava/io/NotSerializableException;
           29   61     4              keys  [Ljava/lang/String;
           30   61     5         saveNames  Ljava/util/List<Ljava/lang/String;>;
           31   61     6        saveValues  Ljava/util/List<Ljava/lang/Object;>;
           33   41     7               key  Ljava/lang/String;
           34   41    11             value  Ljava/lang/Object;
           44   61     7                 n  I
           46   60     8                 i  I
           55   58     9                 e  Ljava/io/NotSerializableException;
      Exception table:
        from    to  target  type
          22    23      24  Class java.io.NotSerializableException
          48    53      54  Class java.io.NotSerializableException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  private boolean getPersistAuthentication();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 1712
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            instanceof org.apache.catalina.session.ManagerBase
            ifeq 2
         1: .line 1713
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            checkcast org.apache.catalina.session.ManagerBase
            invokevirtual org.apache.catalina.session.ManagerBase.getPersistAuthentication:()Z
            ireturn
         2: .line 1715
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/catalina/session/StandardSession;

  protected boolean exclude(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object value
         0: .line 1737
            getstatic org.apache.catalina.session.Constants.excludedAttributeNames:Ljava/util/Set;
            aload 1 /* name */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1738
            iconst_1
            ireturn
         2: .line 1742
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getManager:()Lorg/apache/catalina/Manager;
            astore 3 /* manager */
        start local 3 // org.apache.catalina.Manager manager
         3: .line 1743
            aload 3 /* manager */
            ifnonnull 5
         4: .line 1746
            iconst_0
            ireturn
         5: .line 1750
      StackMap locals: org.apache.catalina.Manager
      StackMap stack:
            aload 3 /* manager */
            aload 1 /* name */
            aload 2 /* value */
            invokeinterface org.apache.catalina.Manager.willAttributeDistribute:(Ljava/lang/String;Ljava/lang/Object;)Z
            ifeq 6
            iconst_0
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_1
      StackMap locals:
      StackMap stack: int
         7: ireturn
        end local 3 // org.apache.catalina.Manager manager
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/apache/catalina/session/StandardSession;
            0    8     1     name  Ljava/lang/String;
            0    8     2    value  Ljava/lang/Object;
            3    8     3  manager  Lorg/apache/catalina/Manager;
    MethodParameters:
       Name  Flags
      name   
      value  

  public void fireSessionEvent(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String type
        start local 2 // java.lang.Object data
         0: .line 1765
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.listeners:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            if_icmpge 2
         1: .line 1766
            return
         2: .line 1767
      StackMap locals:
      StackMap stack:
            new org.apache.catalina.SessionEvent
            dup
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* data */
            invokespecial org.apache.catalina.SessionEvent.<init>:(Lorg/apache/catalina/Session;Ljava/lang/String;Ljava/lang/Object;)V
            astore 3 /* event */
        start local 3 // org.apache.catalina.SessionEvent event
         3: .line 1768
            iconst_0
            anewarray org.apache.catalina.SessionListener
            astore 4 /* list */
        start local 4 // org.apache.catalina.SessionListener[] list
         4: .line 1769
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.listeners:Ljava/util/ArrayList;
            dup
            astore 5
            monitorenter
         5: .line 1770
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.listeners:Ljava/util/ArrayList;
            aload 4 /* list */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.catalina.SessionListener[]
            astore 4 /* list */
         6: .line 1769
            aload 5
            monitorexit
         7: goto 10
      StackMap locals: org.apache.catalina.session.StandardSession java.lang.String java.lang.Object org.apache.catalina.SessionEvent org.apache.catalina.SessionListener[] java.util.ArrayList
      StackMap stack: java.lang.Throwable
         8: aload 5
            monitorexit
         9: athrow
        10: .line 1773
      StackMap locals:
      StackMap stack:
            aload 4 /* list */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 14
      StackMap locals: org.apache.catalina.session.StandardSession java.lang.String java.lang.Object org.apache.catalina.SessionEvent org.apache.catalina.SessionListener[] top int int org.apache.catalina.SessionListener[]
      StackMap stack:
        11: aload 8
            iload 6
            aaload
            astore 5 /* sessionListener */
        start local 5 // org.apache.catalina.SessionListener sessionListener
        12: .line 1774
            aload 5 /* sessionListener */
            aload 3 /* event */
            invokeinterface org.apache.catalina.SessionListener.sessionEvent:(Lorg/apache/catalina/SessionEvent;)V
        end local 5 // org.apache.catalina.SessionListener sessionListener
        13: .line 1773
            iinc 6 1
      StackMap locals:
      StackMap stack:
        14: iload 6
            iload 7
            if_icmplt 11
        15: .line 1777
            return
        end local 4 // org.apache.catalina.SessionListener[] list
        end local 3 // org.apache.catalina.SessionEvent event
        end local 2 // java.lang.Object data
        end local 1 // java.lang.String type
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Lorg/apache/catalina/session/StandardSession;
            0   16     1             type  Ljava/lang/String;
            0   16     2             data  Ljava/lang/Object;
            3   16     3            event  Lorg/apache/catalina/SessionEvent;
            4   16     4             list  [Lorg/apache/catalina/SessionListener;
           12   13     5  sessionListener  Lorg/apache/catalina/SessionListener;
      Exception table:
        from    to  target  type
           5     7       8  any
           8     9       8  any
    MethodParameters:
      Name  Flags
      type  
      data  

  protected java.lang.String[] keys();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.catalina.session.StandardSession this
         0: .line 1787
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.attributes:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.keySet:()Ljava/util/Set;
            getstatic org.apache.catalina.session.StandardSession.EMPTY_ARRAY:[Ljava/lang/String;
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/session/StandardSession;

  protected void removeAttributeInternal(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // org.apache.catalina.session.StandardSession this
        start local 1 // java.lang.String name
        start local 2 // boolean notify
         0: .line 1808
            aload 1 /* name */
            ifnonnull 1
            return
         1: .line 1811
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.attributes:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* name */
            invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* value */
        start local 3 // java.lang.Object value
         2: .line 1814
            iload 2 /* notify */
            ifeq 3
            aload 3 /* value */
            ifnonnull 4
         3: .line 1815
      StackMap locals: java.lang.Object
      StackMap stack:
            return
         4: .line 1819
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* event */
        start local 4 // jakarta.servlet.http.HttpSessionBindingEvent event
         5: .line 1820
            aload 3 /* value */
            instanceof jakarta.servlet.http.HttpSessionBindingListener
            ifeq 8
         6: .line 1821
            new jakarta.servlet.http.HttpSessionBindingEvent
            dup
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getSession:()Ljakarta/servlet/http/HttpSession;
            aload 1 /* name */
            aload 3 /* value */
            invokespecial jakarta.servlet.http.HttpSessionBindingEvent.<init>:(Ljakarta/servlet/http/HttpSession;Ljava/lang/String;Ljava/lang/Object;)V
            astore 4 /* event */
         7: .line 1822
            aload 3 /* value */
            checkcast jakarta.servlet.http.HttpSessionBindingListener
            aload 4 /* event */
            invokeinterface jakarta.servlet.http.HttpSessionBindingListener.valueUnbound:(Ljakarta/servlet/http/HttpSessionBindingEvent;)V
         8: .line 1826
      StackMap locals: jakarta.servlet.http.HttpSessionBindingEvent
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            astore 5 /* context */
        start local 5 // org.apache.catalina.Context context
         9: .line 1827
            aload 5 /* context */
            invokeinterface org.apache.catalina.Context.getApplicationEventListeners:()[Ljava/lang/Object;
            astore 6 /* listeners */
        start local 6 // java.lang.Object[] listeners
        10: .line 1828
            aload 6 /* listeners */
            ifnonnull 12
        11: .line 1829
            return
        12: .line 1830
      StackMap locals: org.apache.catalina.Context java.lang.Object[]
      StackMap stack:
            aload 6 /* listeners */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 30
      StackMap locals: org.apache.catalina.session.StandardSession java.lang.String int java.lang.Object jakarta.servlet.http.HttpSessionBindingEvent org.apache.catalina.Context java.lang.Object[] top int int java.lang.Object[]
      StackMap stack:
        13: aload 10
            iload 8
            aaload
            astore 7 /* o */
        start local 7 // java.lang.Object o
        14: .line 1831
            aload 7 /* o */
            instanceof jakarta.servlet.http.HttpSessionAttributeListener
            ifne 16
        15: .line 1832
            goto 29
        16: .line 1834
      StackMap locals: org.apache.catalina.session.StandardSession java.lang.String int java.lang.Object jakarta.servlet.http.HttpSessionBindingEvent org.apache.catalina.Context java.lang.Object[] java.lang.Object int int java.lang.Object[]
      StackMap stack:
            aload 7 /* o */
            checkcast jakarta.servlet.http.HttpSessionAttributeListener
            astore 11 /* listener */
        start local 11 // jakarta.servlet.http.HttpSessionAttributeListener listener
        17: .line 1836
            aload 5 /* context */
            ldc "beforeSessionAttributeRemoved"
            aload 11 /* listener */
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        18: .line 1837
            aload 4 /* event */
            ifnonnull 20
        19: .line 1838
            new jakarta.servlet.http.HttpSessionBindingEvent
            dup
            aload 0 /* this */
            invokevirtual org.apache.catalina.session.StandardSession.getSession:()Ljakarta/servlet/http/HttpSession;
            aload 1 /* name */
            aload 3 /* value */
            invokespecial jakarta.servlet.http.HttpSessionBindingEvent.<init>:(Ljakarta/servlet/http/HttpSession;Ljava/lang/String;Ljava/lang/Object;)V
            astore 4 /* event */
        20: .line 1840
      StackMap locals: jakarta.servlet.http.HttpSessionAttributeListener
      StackMap stack:
            aload 11 /* listener */
            aload 4 /* event */
            invokeinterface jakarta.servlet.http.HttpSessionAttributeListener.attributeRemoved:(Ljakarta/servlet/http/HttpSessionBindingEvent;)V
        21: .line 1841
            aload 5 /* context */
            ldc "afterSessionAttributeRemoved"
            aload 11 /* listener */
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        22: .line 1842
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 12 /* t */
        start local 12 // java.lang.Throwable t
        24: .line 1843
            aload 12 /* t */
            invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
        25: .line 1845
            aload 5 /* context */
            ldc "afterSessionAttributeRemoved"
            aload 11 /* listener */
            invokeinterface org.apache.catalina.Context.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
        26: .line 1846
            goto 28
      StackMap locals: org.apache.catalina.session.StandardSession java.lang.String int java.lang.Object jakarta.servlet.http.HttpSessionBindingEvent org.apache.catalina.Context java.lang.Object[] java.lang.Object int int java.lang.Object[] jakarta.servlet.http.HttpSessionAttributeListener java.lang.Throwable
      StackMap stack: java.lang.Exception
        27: pop
        28: .line 1849
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.session.StandardSession.manager:Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.session.StandardSession.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardSession.attributeEvent"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 12 /* t */
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 12 // java.lang.Throwable t
        end local 11 // jakarta.servlet.http.HttpSessionAttributeListener listener
        end local 7 // java.lang.Object o
        29: .line 1830
      StackMap locals: org.apache.catalina.session.StandardSession java.lang.String int java.lang.Object jakarta.servlet.http.HttpSessionBindingEvent org.apache.catalina.Context java.lang.Object[] top int int java.lang.Object[]
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        30: iload 8
            iload 9
            if_icmplt 13
        31: .line 1852
            return
        end local 6 // java.lang.Object[] listeners
        end local 5 // org.apache.catalina.Context context
        end local 4 // jakarta.servlet.http.HttpSessionBindingEvent event
        end local 3 // java.lang.Object value
        end local 2 // boolean notify
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.session.StandardSession this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   32     0       this  Lorg/apache/catalina/session/StandardSession;
            0   32     1       name  Ljava/lang/String;
            0   32     2     notify  Z
            2   32     3      value  Ljava/lang/Object;
            5   32     4      event  Ljakarta/servlet/http/HttpSessionBindingEvent;
            9   32     5    context  Lorg/apache/catalina/Context;
           10   32     6  listeners  [Ljava/lang/Object;
           14   29     7          o  Ljava/lang/Object;
           17   29    11   listener  Ljakarta/servlet/http/HttpSessionAttributeListener;
           24   29    12          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          17    22      23  Class java.lang.Throwable
          25    26      27  Class java.lang.Exception
    MethodParameters:
        Name  Flags
      name    
      notify  
}
SourceFile: "StandardSession.java"
NestMembers:
  org.apache.catalina.session.StandardSession$PrivilegedNewSessionFacade
InnerClasses:
  private PrivilegedNewSessionFacade = org.apache.catalina.session.StandardSession$PrivilegedNewSessionFacade of org.apache.catalina.session.StandardSession