public class sun.rmi.server.ActivationGroupImpl extends java.rmi.activation.ActivationGroup
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.rmi.server.ActivationGroupImpl
  super_class: java.rmi.activation.ActivationGroup
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5758693559430427303

  private final java.util.Hashtable<java.rmi.activation.ActivationID, sun.rmi.server.ActivationGroupImpl$ActiveEntry> active;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Hashtable<Ljava/rmi/activation/ActivationID;Lsun/rmi/server/ActivationGroupImpl$ActiveEntry;>;

  private boolean groupInactive;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final java.rmi.activation.ActivationGroupID groupID;
    descriptor: Ljava/rmi/activation/ActivationGroupID;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<java.rmi.activation.ActivationID> lockedIDs;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/rmi/activation/ActivationID;>;

  public void <init>(java.rmi.activation.ActivationGroupID, java.rmi.MarshalledObject<?>);
    descriptor: (Ljava/rmi/activation/ActivationGroupID;Ljava/rmi/MarshalledObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // sun.rmi.server.ActivationGroupImpl this
        start local 1 // java.rmi.activation.ActivationGroupID id
        start local 2 // java.rmi.MarshalledObject data
         0: .line 83
            aload 0 /* this */
            aload 1 /* id */
            invokespecial java.rmi.activation.ActivationGroup.<init>:(Ljava/rmi/activation/ActivationGroupID;)V
         1: .line 68
            aload 0 /* this */
         2: .line 69
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield sun.rmi.server.ActivationGroupImpl.active:Ljava/util/Hashtable;
         3: .line 70
            aload 0 /* this */
            iconst_0
            putfield sun.rmi.server.ActivationGroupImpl.groupInactive:Z
         4: .line 72
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.rmi.server.ActivationGroupImpl.lockedIDs:Ljava/util/List;
         5: .line 84
            aload 0 /* this */
            aload 1 /* id */
            putfield sun.rmi.server.ActivationGroupImpl.groupID:Ljava/rmi/activation/ActivationGroupID;
         6: .line 90
            aload 0 /* this */
            iconst_1
            invokestatic sun.rmi.server.ActivationGroupImpl.unexportObject:(Ljava/rmi/Remote;Z)Z
            pop
         7: .line 91
            new sun.rmi.server.ActivationGroupImpl$ServerSocketFactoryImpl
            dup
            invokespecial sun.rmi.server.ActivationGroupImpl$ServerSocketFactoryImpl.<init>:()V
            astore 3 /* ssf */
        start local 3 // java.rmi.server.RMIServerSocketFactory ssf
         8: .line 92
            aload 0 /* this */
            iconst_0
            aconst_null
            aload 3 /* ssf */
            invokestatic java.rmi.server.UnicastRemoteObject.exportObject:(Ljava/rmi/Remote;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;)Ljava/rmi/Remote;
            pop
         9: .line 94
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnonnull 14
        10: .line 97
            new java.lang.SecurityManager
            dup
            invokespecial java.lang.SecurityManager.<init>:()V
            invokestatic java.lang.System.setSecurityManager:(Ljava/lang/SecurityManager;)V
        11: .line 99
            goto 14
      StackMap locals: sun.rmi.server.ActivationGroupImpl java.rmi.activation.ActivationGroupID java.rmi.MarshalledObject java.rmi.server.RMIServerSocketFactory
      StackMap stack: java.lang.Exception
        12: astore 4 /* e */
        start local 4 // java.lang.Exception e
        13: .line 100
            new java.rmi.RemoteException
            dup
            ldc "unable to set security manager"
            aload 4 /* e */
            invokespecial java.rmi.RemoteException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
        14: .line 103
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.rmi.server.RMIServerSocketFactory ssf
        end local 2 // java.rmi.MarshalledObject data
        end local 1 // java.rmi.activation.ActivationGroupID id
        end local 0 // sun.rmi.server.ActivationGroupImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lsun/rmi/server/ActivationGroupImpl;
            0   15     1    id  Ljava/rmi/activation/ActivationGroupID;
            0   15     2  data  Ljava/rmi/MarshalledObject<*>;
            8   15     3   ssf  Ljava/rmi/server/RMIServerSocketFactory;
           13   14     4     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.Exception
    Exceptions:
      throws java.rmi.RemoteException
    Signature: (Ljava/rmi/activation/ActivationGroupID;Ljava/rmi/MarshalledObject<*>;)V
    MethodParameters:
      Name  Flags
      id    
      data  

  private void acquireLock(java.rmi.activation.ActivationID);
    descriptor: (Ljava/rmi/activation/ActivationID;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // sun.rmi.server.ActivationGroupImpl this
        start local 1 // java.rmi.activation.ActivationID id
         0: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.lockedIDs:Ljava/util/List;
            dup
            astore 3
            monitorenter
         1: .line 146
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.lockedIDs:Ljava/util/List;
            aload 1 /* id */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 4 /* index */
        start local 4 // int index
         2: .line 147
            iload 4 /* index */
            ifge 6
         3: .line 148
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.lockedIDs:Ljava/util/List;
            aload 1 /* id */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 149
            aload 3
            monitorexit
         5: return
         6: .line 151
      StackMap locals: sun.rmi.server.ActivationGroupImpl java.rmi.activation.ActivationID top java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.lockedIDs:Ljava/util/List;
            iload 4 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.rmi.activation.ActivationID
            astore 2 /* waitForID */
        end local 4 // int index
        start local 2 // java.rmi.activation.ActivationID waitForID
         7: .line 145
            aload 3
            monitorexit
         8: goto 11
        end local 2 // java.rmi.activation.ActivationID waitForID
      StackMap locals: sun.rmi.server.ActivationGroupImpl java.rmi.activation.ActivationID top java.util.List
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        start local 2 // java.rmi.activation.ActivationID waitForID
        11: .line 155
      StackMap locals: sun.rmi.server.ActivationGroupImpl java.rmi.activation.ActivationID java.rmi.activation.ActivationID
      StackMap stack:
            aload 2 /* waitForID */
            dup
            astore 3
            monitorenter
        12: .line 156
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.lockedIDs:Ljava/util/List;
            dup
            astore 4
            monitorenter
        13: .line 157
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.lockedIDs:Ljava/util/List;
            aload 2 /* waitForID */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 5 /* index */
        start local 5 // int index
        14: .line 158
            iload 5 /* index */
            ifge 17
            aload 4
            monitorexit
        15: aload 3
            monitorexit
        16: goto 0
        17: .line 159
      StackMap locals: java.rmi.activation.ActivationID java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.lockedIDs:Ljava/util/List;
            iload 5 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.rmi.activation.ActivationID
            astore 6 /* actualID */
        start local 6 // java.rmi.activation.ActivationID actualID
        18: .line 160
            aload 6 /* actualID */
            aload 2 /* waitForID */
            if_acmpeq 22
        19: .line 164
            aload 4
            monitorexit
        20: aload 3
            monitorexit
        21: goto 0
        end local 6 // java.rmi.activation.ActivationID actualID
        end local 5 // int index
        22: .line 156
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        23: goto 26
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: aload 4
            monitorexit
        25: athrow
        26: .line 168
      StackMap locals:
      StackMap stack:
            aload 2 /* waitForID */
            invokevirtual java.lang.Object.wait:()V
        27: .line 169
            goto 29
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        28: pop
        29: .line 155
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        30: goto 0
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: aload 3
            monitorexit
        32: athrow
        end local 2 // java.rmi.activation.ActivationID waitForID
        end local 1 // java.rmi.activation.ActivationID id
        end local 0 // sun.rmi.server.ActivationGroupImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0       this  Lsun/rmi/server/ActivationGroupImpl;
            0   33     1         id  Ljava/rmi/activation/ActivationID;
            7    9     2  waitForID  Ljava/rmi/activation/ActivationID;
           11   33     2  waitForID  Ljava/rmi/activation/ActivationID;
            2    7     4      index  I
           14   22     5      index  I
           18   22     6   actualID  Ljava/rmi/activation/ActivationID;
      Exception table:
        from    to  target  type
           1     5       9  any
           6     8       9  any
           9    10       9  any
          13    15      24  any
          17    20      24  any
          22    23      24  any
          24    25      24  any
          26    27      28  Class java.lang.InterruptedException
          12    16      31  any
          17    21      31  any
          22    30      31  any
          31    32      31  any
    MethodParameters:
      Name  Flags
      id    

  private void releaseLock(java.rmi.activation.ActivationID);
    descriptor: (Ljava/rmi/activation/ActivationID;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.rmi.server.ActivationGroupImpl this
        start local 1 // java.rmi.activation.ActivationID id
         0: .line 181
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.lockedIDs:Ljava/util/List;
            dup
            astore 2
            monitorenter
         1: .line 182
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.lockedIDs:Ljava/util/List;
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.lockedIDs:Ljava/util/List;
            aload 1 /* id */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            checkcast java.rmi.activation.ActivationID
            astore 1 /* id */
         2: .line 181
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: sun.rmi.server.ActivationGroupImpl java.rmi.activation.ActivationID java.util.List
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 185
      StackMap locals:
      StackMap stack:
            aload 1 /* id */
            dup
            astore 2
            monitorenter
         7: .line 186
            aload 1 /* id */
            invokevirtual java.lang.Object.notifyAll:()V
         8: .line 185
            aload 2
            monitorexit
         9: goto 12
      StackMap locals: sun.rmi.server.ActivationGroupImpl java.rmi.activation.ActivationID java.rmi.activation.ActivationID
      StackMap stack: java.lang.Throwable
        10: aload 2
            monitorexit
        11: athrow
        12: .line 188
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.rmi.activation.ActivationID id
        end local 0 // sun.rmi.server.ActivationGroupImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lsun/rmi/server/ActivationGroupImpl;
            0   13     1    id  Ljava/rmi/activation/ActivationID;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
           7     9      10  any
          10    11      10  any
    MethodParameters:
      Name  Flags
      id    

  public java.rmi.MarshalledObject<? extends java.rmi.Remote> newInstance(java.rmi.activation.ActivationID, java.rmi.activation.ActivationDesc);
    descriptor: (Ljava/rmi/activation/ActivationID;Ljava/rmi/activation/ActivationDesc;)Ljava/rmi/MarshalledObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=15, args_size=3
        start local 0 // sun.rmi.server.ActivationGroupImpl this
        start local 1 // java.rmi.activation.ActivationID id
        start local 2 // java.rmi.activation.ActivationDesc desc
         0: .line 211
            ldc "ActivationInstantiator.newInstance"
            invokestatic sun.rmi.registry.RegistryImpl.checkAccess:(Ljava/lang/String;)V
         1: .line 213
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.groupID:Ljava/rmi/activation/ActivationGroupID;
            aload 2 /* desc */
            invokevirtual java.rmi.activation.ActivationDesc.getGroupID:()Ljava/rmi/activation/ActivationGroupID;
            invokevirtual java.rmi.activation.ActivationGroupID.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 214
            new java.rmi.activation.ActivationException
            dup
            ldc "newInstance in wrong group"
            invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.acquireLock:(Ljava/rmi/activation/ActivationID;)V
         4: .line 218
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         5: .line 219
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.groupInactive:Z
            ifeq 7
         6: .line 220
            new sun.rmi.server.InactiveGroupException
            dup
            ldc "group is inactive"
            invokespecial sun.rmi.server.InactiveGroupException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 218
      StackMap locals: sun.rmi.server.ActivationGroupImpl
      StackMap stack:
            aload 3
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        11: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.active:Ljava/util/Hashtable;
            aload 1 /* id */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.rmi.server.ActivationGroupImpl$ActiveEntry
            astore 3 /* entry */
        start local 3 // sun.rmi.server.ActivationGroupImpl$ActiveEntry entry
        12: .line 224
            aload 3 /* entry */
            ifnull 17
        13: .line 225
            aload 3 /* entry */
            getfield sun.rmi.server.ActivationGroupImpl$ActiveEntry.mobj:Ljava/rmi/MarshalledObject;
            astore 14
        14: .line 320
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        15: .line 321
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        16: .line 225
            aload 14
            areturn
        17: .line 227
      StackMap locals: sun.rmi.server.ActivationGroupImpl$ActiveEntry
      StackMap stack:
            aload 2 /* desc */
            invokevirtual java.rmi.activation.ActivationDesc.getClassName:()Ljava/lang/String;
            astore 4 /* className */
        start local 4 // java.lang.String className
        18: .line 230
            aload 2 /* desc */
            invokevirtual java.rmi.activation.ActivationDesc.getLocation:()Ljava/lang/String;
            aload 4 /* className */
            invokestatic java.rmi.server.RMIClassLoader.loadClass:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class;
        19: .line 231
            ldc Ljava/rmi/Remote;
            invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
        20: .line 229
            astore 5 /* cl */
        start local 5 // java.lang.Class cl
        21: .line 232
            aconst_null
            astore 6 /* impl */
        start local 6 // java.rmi.Remote impl
        22: .line 234
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 7 /* t */
        start local 7 // java.lang.Thread t
        23: .line 235
            aload 7 /* t */
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 8 /* savedCcl */
        start local 8 // java.lang.ClassLoader savedCcl
        24: .line 236
            aload 5 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 9 /* objcl */
        start local 9 // java.lang.ClassLoader objcl
        25: .line 237
            aload 9 /* objcl */
            aload 8 /* savedCcl */
            invokestatic sun.rmi.server.ActivationGroupImpl.covers:(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
            ifeq 26
            aload 9 /* objcl */
            goto 27
      StackMap locals: sun.rmi.server.ActivationGroupImpl java.rmi.activation.ActivationID java.rmi.activation.ActivationDesc sun.rmi.server.ActivationGroupImpl$ActiveEntry java.lang.String java.lang.Class java.rmi.Remote java.lang.Thread java.lang.ClassLoader java.lang.ClassLoader
      StackMap stack:
        26: aload 8 /* savedCcl */
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
        27: astore 10 /* ccl */
        start local 10 // java.lang.ClassLoader ccl
        28: .line 252
            new sun.rmi.server.ActivationGroupImpl$1
            dup
            aload 0 /* this */
            aload 5 /* cl */
            aload 7 /* t */
            aload 8 /* savedCcl */
            aload 10 /* ccl */
            aload 1 /* id */
            aload 2 /* desc */
            invokespecial sun.rmi.server.ActivationGroupImpl$1.<init>:(Lsun/rmi/server/ActivationGroupImpl;Ljava/lang/Class;Ljava/lang/Thread;Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;Ljava/rmi/activation/ActivationID;Ljava/rmi/activation/ActivationDesc;)V
        29: .line 251
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.rmi.Remote
            astore 6 /* impl */
        30: .line 276
            goto 45
      StackMap locals: sun.rmi.server.ActivationGroupImpl java.rmi.activation.ActivationID java.rmi.activation.ActivationDesc sun.rmi.server.ActivationGroupImpl$ActiveEntry java.lang.String java.lang.Class java.rmi.Remote java.lang.Thread java.lang.ClassLoader java.lang.ClassLoader java.lang.ClassLoader
      StackMap stack: java.security.PrivilegedActionException
        31: astore 11 /* pae */
        start local 11 // java.security.PrivilegedActionException pae
        32: .line 277
            aload 11 /* pae */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            astore 12 /* e */
        start local 12 // java.lang.Throwable e
        33: .line 280
            aload 12 /* e */
            instanceof java.lang.InstantiationException
            ifeq 35
        34: .line 281
            aload 12 /* e */
            checkcast java.lang.InstantiationException
            athrow
        35: .line 282
      StackMap locals: java.security.PrivilegedActionException java.lang.Throwable
      StackMap stack:
            aload 12 /* e */
            instanceof java.lang.NoSuchMethodException
            ifeq 37
        36: .line 283
            aload 12 /* e */
            checkcast java.lang.NoSuchMethodException
            athrow
        37: .line 284
      StackMap locals:
      StackMap stack:
            aload 12 /* e */
            instanceof java.lang.IllegalAccessException
            ifeq 39
        38: .line 285
            aload 12 /* e */
            checkcast java.lang.IllegalAccessException
            athrow
        39: .line 286
      StackMap locals:
      StackMap stack:
            aload 12 /* e */
            instanceof java.lang.reflect.InvocationTargetException
            ifeq 41
        40: .line 287
            aload 12 /* e */
            checkcast java.lang.reflect.InvocationTargetException
            athrow
        41: .line 288
      StackMap locals:
      StackMap stack:
            aload 12 /* e */
            instanceof java.lang.RuntimeException
            ifeq 43
        42: .line 289
            aload 12 /* e */
            checkcast java.lang.RuntimeException
            athrow
        43: .line 290
      StackMap locals:
      StackMap stack:
            aload 12 /* e */
            instanceof java.lang.Error
            ifeq 45
        44: .line 291
            aload 12 /* e */
            checkcast java.lang.Error
            athrow
        end local 12 // java.lang.Throwable e
        end local 11 // java.security.PrivilegedActionException pae
        45: .line 295
      StackMap locals:
      StackMap stack:
            new sun.rmi.server.ActivationGroupImpl$ActiveEntry
            dup
            aload 6 /* impl */
            invokespecial sun.rmi.server.ActivationGroupImpl$ActiveEntry.<init>:(Ljava/rmi/Remote;)V
            astore 3 /* entry */
        46: .line 296
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.active:Ljava/util/Hashtable;
            aload 1 /* id */
            aload 3 /* entry */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        47: .line 297
            aload 3 /* entry */
            getfield sun.rmi.server.ActivationGroupImpl$ActiveEntry.mobj:Ljava/rmi/MarshalledObject;
            astore 14
        48: .line 320
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        49: .line 321
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        50: .line 297
            aload 14
            areturn
        end local 10 // java.lang.ClassLoader ccl
        end local 9 // java.lang.ClassLoader objcl
        end local 8 // java.lang.ClassLoader savedCcl
        end local 7 // java.lang.Thread t
        end local 6 // java.rmi.Remote impl
        end local 5 // java.lang.Class cl
        end local 4 // java.lang.String className
        end local 3 // sun.rmi.server.ActivationGroupImpl$ActiveEntry entry
        51: .line 299
      StackMap locals: sun.rmi.server.ActivationGroupImpl java.rmi.activation.ActivationID java.rmi.activation.ActivationDesc
      StackMap stack: java.lang.NoSuchMethodException
            astore 3 /* e */
        start local 3 // java.lang.NoSuchMethodException e
        52: .line 301
            new java.rmi.activation.ActivationException
            dup
        53: .line 302
            ldc "Activatable object must provide an activation constructor"
        54: .line 303
            aload 3 /* e */
        55: .line 301
            invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.NoSuchMethodException e
        56: .line 305
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodError
            astore 3 /* e */
        start local 3 // java.lang.NoSuchMethodError e
        57: .line 309
            new java.rmi.activation.ActivationException
            dup
        58: .line 310
            ldc "Activatable object must provide an activation constructor"
        59: .line 311
            aload 3 /* e */
        60: .line 309
            invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.NoSuchMethodError e
        61: .line 313
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* e */
        start local 3 // java.lang.reflect.InvocationTargetException e
        62: .line 314
            new java.rmi.activation.ActivationException
            dup
            ldc "exception in object constructor"
        63: .line 315
            aload 3 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
        64: .line 314
            invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.reflect.InvocationTargetException e
        65: .line 317
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        66: .line 318
            new java.rmi.activation.ActivationException
            dup
            ldc "unable to activate object"
            aload 3 /* e */
            invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        67: .line 319
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        68: .line 320
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        69: .line 321
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        70: .line 322
            aload 13
            athrow
        end local 2 // java.rmi.activation.ActivationDesc desc
        end local 1 // java.rmi.activation.ActivationID id
        end local 0 // sun.rmi.server.ActivationGroupImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   71     0       this  Lsun/rmi/server/ActivationGroupImpl;
            0   71     1         id  Ljava/rmi/activation/ActivationID;
            0   71     2       desc  Ljava/rmi/activation/ActivationDesc;
           12   51     3      entry  Lsun/rmi/server/ActivationGroupImpl$ActiveEntry;
           18   51     4  className  Ljava/lang/String;
           21   51     5         cl  Ljava/lang/Class<+Ljava/rmi/Remote;>;
           22   51     6       impl  Ljava/rmi/Remote;
           23   51     7          t  Ljava/lang/Thread;
           24   51     8   savedCcl  Ljava/lang/ClassLoader;
           25   51     9      objcl  Ljava/lang/ClassLoader;
           28   51    10        ccl  Ljava/lang/ClassLoader;
           32   45    11        pae  Ljava/security/PrivilegedActionException;
           33   45    12          e  Ljava/lang/Throwable;
           52   56     3          e  Ljava/lang/NoSuchMethodException;
           57   61     3          e  Ljava/lang/NoSuchMethodError;
           62   65     3          e  Ljava/lang/reflect/InvocationTargetException;
           66   67     3          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     8       9  any
           9    10       9  any
          28    30      31  Class java.security.PrivilegedActionException
           3    14      51  Class java.lang.NoSuchMethodException
          17    48      51  Class java.lang.NoSuchMethodException
           3    14      56  Class java.lang.NoSuchMethodError
          17    48      56  Class java.lang.NoSuchMethodError
           3    14      61  Class java.lang.reflect.InvocationTargetException
          17    48      61  Class java.lang.reflect.InvocationTargetException
           3    14      65  Class java.lang.Exception
          17    48      65  Class java.lang.Exception
           3    14      67  any
          17    48      67  any
          51    67      67  any
    Exceptions:
      throws java.rmi.activation.ActivationException, java.rmi.RemoteException
    Signature: (Ljava/rmi/activation/ActivationID;Ljava/rmi/activation/ActivationDesc;)Ljava/rmi/MarshalledObject<+Ljava/rmi/Remote;>;
    MethodParameters:
      Name  Flags
      id    final
      desc  final

  public boolean inactiveObject(java.rmi.activation.ActivationID);
    descriptor: (Ljava/rmi/activation/ActivationID;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.rmi.server.ActivationGroupImpl this
        start local 1 // java.rmi.activation.ActivationID id
         0: .line 367
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.acquireLock:(Ljava/rmi/activation/ActivationID;)V
         1: .line 368
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 369
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.groupInactive:Z
            ifeq 4
         3: .line 370
            new java.rmi.activation.ActivationException
            dup
            ldc "group is inactive"
            invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 368
      StackMap locals: sun.rmi.server.ActivationGroupImpl
      StackMap stack:
            aload 2
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.active:Ljava/util/Hashtable;
            aload 1 /* id */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.rmi.server.ActivationGroupImpl$ActiveEntry
            astore 2 /* entry */
        start local 2 // sun.rmi.server.ActivationGroupImpl$ActiveEntry entry
         9: .line 374
            aload 2 /* entry */
            ifnonnull 11
        10: .line 376
            new java.rmi.activation.UnknownObjectException
            dup
            ldc "object not active"
            invokespecial java.rmi.activation.UnknownObjectException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 380
      StackMap locals: sun.rmi.server.ActivationGroupImpl$ActiveEntry
      StackMap stack:
            aload 2 /* entry */
            getfield sun.rmi.server.ActivationGroupImpl$ActiveEntry.impl:Ljava/rmi/Remote;
            iconst_0
            invokestatic java.rmi.activation.Activatable.unexportObject:(Ljava/rmi/Remote;Z)Z
            ifne 16
        12: .line 393
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        13: .line 394
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        14: .line 381
            iconst_0
            ireturn
        15: .line 382
      StackMap locals:
      StackMap stack: java.rmi.NoSuchObjectException
            pop
        16: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            invokespecial java.rmi.activation.ActivationGroup.inactiveObject:(Ljava/rmi/activation/ActivationID;)Z
            pop
        17: .line 387
            goto 19
      StackMap locals:
      StackMap stack: java.rmi.activation.UnknownObjectException
        18: pop
        19: .line 390
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.active:Ljava/util/Hashtable;
            aload 1 /* id */
            invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // sun.rmi.server.ActivationGroupImpl$ActiveEntry entry
        20: .line 392
            goto 25
      StackMap locals: sun.rmi.server.ActivationGroupImpl java.rmi.activation.ActivationID
      StackMap stack: java.lang.Throwable
        21: astore 3
        22: .line 393
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        23: .line 394
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        24: .line 395
            aload 3
            athrow
        25: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        26: .line 394
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        27: .line 397
            iconst_1
            ireturn
        end local 1 // java.rmi.activation.ActivationID id
        end local 0 // sun.rmi.server.ActivationGroupImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   28     0   this  Lsun/rmi/server/ActivationGroupImpl;
            0   28     1     id  Ljava/rmi/activation/ActivationID;
            9   20     2  entry  Lsun/rmi/server/ActivationGroupImpl$ActiveEntry;
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any
          11    12      15  Class java.rmi.NoSuchObjectException
          16    17      18  Class java.rmi.activation.UnknownObjectException
           0    12      21  any
          15    21      21  any
    Exceptions:
      throws java.rmi.activation.ActivationException, java.rmi.activation.UnknownObjectException, java.rmi.RemoteException
    MethodParameters:
      Name  Flags
      id    

  private void checkInactiveGroup();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.rmi.server.ActivationGroupImpl this
         0: .line 405
            iconst_0
            istore 1 /* groupMarkedInactive */
        start local 1 // boolean groupMarkedInactive
         1: .line 406
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 407
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.active:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.size:()I
            ifne 6
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.lockedIDs:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifne 6
         3: .line 408
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.groupInactive:Z
            ifne 6
         4: .line 410
            aload 0 /* this */
            iconst_1
            putfield sun.rmi.server.ActivationGroupImpl.groupInactive:Z
         5: .line 411
            iconst_1
            istore 1 /* groupMarkedInactive */
         6: .line 406
      StackMap locals: int sun.rmi.server.ActivationGroupImpl
      StackMap stack:
            aload 2
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        10: .line 415
      StackMap locals:
      StackMap stack:
            iload 1 /* groupMarkedInactive */
            ifeq 17
        11: .line 417
            aload 0 /* this */
            invokespecial java.rmi.activation.ActivationGroup.inactiveGroup:()V
        12: .line 418
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Exception
        13: pop
        14: .line 422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokestatic java.rmi.server.UnicastRemoteObject.unexportObject:(Ljava/rmi/Remote;Z)Z
            pop
        15: .line 423
            goto 17
      StackMap locals:
      StackMap stack: java.rmi.NoSuchObjectException
        16: pop
        17: .line 426
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean groupMarkedInactive
        end local 0 // sun.rmi.server.ActivationGroupImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   18     0                 this  Lsun/rmi/server/ActivationGroupImpl;
            1   18     1  groupMarkedInactive  Z
      Exception table:
        from    to  target  type
           2     7       8  any
           8     9       8  any
          11    12      13  Class java.lang.Exception
          14    15      16  Class java.rmi.NoSuchObjectException

  public void activeObject(java.rmi.activation.ActivationID, java.rmi.Remote);
    descriptor: (Ljava/rmi/activation/ActivationID;Ljava/rmi/Remote;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.rmi.server.ActivationGroupImpl this
        start local 1 // java.rmi.activation.ActivationID id
        start local 2 // java.rmi.Remote impl
         0: .line 447
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.acquireLock:(Ljava/rmi/activation/ActivationID;)V
         1: .line 448
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         2: .line 449
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.groupInactive:Z
            ifeq 4
         3: .line 450
            new java.rmi.activation.ActivationException
            dup
            ldc "group is inactive"
            invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 448
      StackMap locals: sun.rmi.server.ActivationGroupImpl
      StackMap stack:
            aload 3
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 452
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.active:Ljava/util/Hashtable;
            aload 1 /* id */
            invokevirtual java.util.Hashtable.contains:(Ljava/lang/Object;)Z
            ifne 19
         9: .line 453
            new sun.rmi.server.ActivationGroupImpl$ActiveEntry
            dup
            aload 2 /* impl */
            invokespecial sun.rmi.server.ActivationGroupImpl$ActiveEntry.<init>:(Ljava/rmi/Remote;)V
            astore 3 /* entry */
        start local 3 // sun.rmi.server.ActivationGroupImpl$ActiveEntry entry
        10: .line 454
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.active:Ljava/util/Hashtable;
            aload 1 /* id */
            aload 3 /* entry */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 457
            aload 0 /* this */
            aload 1 /* id */
            aload 3 /* entry */
            getfield sun.rmi.server.ActivationGroupImpl$ActiveEntry.mobj:Ljava/rmi/MarshalledObject;
            invokespecial java.rmi.activation.ActivationGroup.activeObject:(Ljava/rmi/activation/ActivationID;Ljava/rmi/MarshalledObject;)V
        12: .line 458
            goto 19
      StackMap locals: sun.rmi.server.ActivationGroupImpl java.rmi.activation.ActivationID java.rmi.Remote sun.rmi.server.ActivationGroupImpl$ActiveEntry
      StackMap stack: java.rmi.RemoteException
        13: pop
        end local 3 // sun.rmi.server.ActivationGroupImpl$ActiveEntry entry
        14: .line 462
            goto 19
      StackMap locals: sun.rmi.server.ActivationGroupImpl java.rmi.activation.ActivationID java.rmi.Remote
      StackMap stack: java.lang.Throwable
        15: astore 4
        16: .line 463
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        17: .line 464
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        18: .line 465
            aload 4
            athrow
        19: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        20: .line 464
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        21: .line 466
            return
        end local 2 // java.rmi.Remote impl
        end local 1 // java.rmi.activation.ActivationID id
        end local 0 // sun.rmi.server.ActivationGroupImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   22     0   this  Lsun/rmi/server/ActivationGroupImpl;
            0   22     1     id  Ljava/rmi/activation/ActivationID;
            0   22     2   impl  Ljava/rmi/Remote;
           10   14     3  entry  Lsun/rmi/server/ActivationGroupImpl$ActiveEntry;
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any
          11    12      13  Class java.rmi.RemoteException
           0    15      15  any
    Exceptions:
      throws java.rmi.activation.ActivationException, java.rmi.activation.UnknownObjectException, java.rmi.RemoteException
    MethodParameters:
      Name  Flags
      id    
      impl  

  private static boolean covers(java.lang.ClassLoader, java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader sub
        start local 1 // java.lang.ClassLoader sup
         0: .line 492
            aload 1 /* sup */
            ifnonnull 2
         1: .line 493
            iconst_1
            ireturn
         2: .line 494
      StackMap locals:
      StackMap stack:
            aload 0 /* sub */
            ifnonnull 4
         3: .line 495
            iconst_0
            ireturn
         4: .line 498
      StackMap locals:
      StackMap stack:
            aload 0 /* sub */
            aload 1 /* sup */
            if_acmpne 6
         5: .line 499
            iconst_1
            ireturn
         6: .line 501
      StackMap locals:
      StackMap stack:
            aload 0 /* sub */
            invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
            astore 0 /* sub */
         7: .line 502
            aload 0 /* sub */
            ifnonnull 4
         8: .line 503
            iconst_0
            ireturn
        end local 1 // java.lang.ClassLoader sup
        end local 0 // java.lang.ClassLoader sub
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0   sub  Ljava/lang/ClassLoader;
            0    9     1   sup  Ljava/lang/ClassLoader;
    MethodParameters:
      Name  Flags
      sub   
      sup   
}
SourceFile: "ActivationGroupImpl.java"
NestMembers:
  sun.rmi.server.ActivationGroupImpl$1  sun.rmi.server.ActivationGroupImpl$ActiveEntry  sun.rmi.server.ActivationGroupImpl$ServerSocketFactoryImpl
InnerClasses:
  sun.rmi.server.ActivationGroupImpl$1
  private ActiveEntry = sun.rmi.server.ActivationGroupImpl$ActiveEntry of sun.rmi.server.ActivationGroupImpl
  private ServerSocketFactoryImpl = sun.rmi.server.ActivationGroupImpl$ServerSocketFactoryImpl of sun.rmi.server.ActivationGroupImpl