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 85
            aload 0 /* this */
            aload 1 /* id */
            invokespecial java.rmi.activation.ActivationGroup.<init>:(Ljava/rmi/activation/ActivationGroupID;)V
         1: .line 69
            aload 0 /* this */
         2: .line 70
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield sun.rmi.server.ActivationGroupImpl.active:Ljava/util/Hashtable;
         3: .line 71
            aload 0 /* this */
            iconst_0
            putfield sun.rmi.server.ActivationGroupImpl.groupInactive:Z
         4: .line 74
            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 86
            aload 0 /* this */
            aload 1 /* id */
            putfield sun.rmi.server.ActivationGroupImpl.groupID:Ljava/rmi/activation/ActivationGroupID;
         6: .line 92
            aload 0 /* this */
            iconst_1
            invokestatic sun.rmi.server.ActivationGroupImpl.unexportObject:(Ljava/rmi/Remote;Z)Z
            pop
         7: .line 93
            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 94
            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 96
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnonnull 14
        10: .line 99
            new java.lang.SecurityManager
            dup
            invokespecial java.lang.SecurityManager.<init>:()V
            invokestatic java.lang.System.setSecurityManager:(Ljava/lang/SecurityManager;)V
        11: .line 101
            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 102
            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 105
      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 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.lockedIDs:Ljava/util/List;
            dup
            astore 3
            monitorenter
         1: .line 148
            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 149
            iload 4 /* index */
            ifge 6
         3: .line 150
            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 151
            aload 3
            monitorexit
         5: return
         6: .line 153
      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 147
            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 157
      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 158
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.lockedIDs:Ljava/util/List;
            dup
            astore 4
            monitorenter
        13: .line 159
            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 160
            iload 5 /* index */
            ifge 17
            aload 4
            monitorexit
        15: aload 3
            monitorexit
        16: goto 0
        17: .line 161
      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 162
            aload 6 /* actualID */
            aload 2 /* waitForID */
            if_acmpeq 22
        19: .line 166
            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 158
      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 170
      StackMap locals:
      StackMap stack:
            aload 2 /* waitForID */
            invokevirtual java.lang.Object.wait:()V
        27: .line 171
            goto 29
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        28: pop
        29: .line 157
      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 183
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.lockedIDs:Ljava/util/List;
            dup
            astore 2
            monitorenter
         1: .line 184
            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 183
            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 187
      StackMap locals:
      StackMap stack:
            aload 1 /* id */
            dup
            astore 2
            monitorenter
         7: .line 188
            aload 1 /* id */
            invokevirtual java.lang.Object.notifyAll:()V
         8: .line 187
            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 190
      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 213
            ldc "ActivationInstantiator.newInstance"
            invokestatic sun.rmi.registry.RegistryImpl.checkAccess:(Ljava/lang/String;)V
         1: .line 215
            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 216
            new java.rmi.activation.ActivationException
            dup
            ldc "newInstance in wrong group"
            invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.acquireLock:(Ljava/rmi/activation/ActivationID;)V
         4: .line 220
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         5: .line 221
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.groupInactive:Z
            ifeq 7
         6: .line 222
            new sun.rmi.server.InactiveGroupException
            dup
            ldc "group is inactive"
            invokespecial sun.rmi.server.InactiveGroupException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 220
      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 225
      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 226
            aload 3 /* entry */
            ifnull 17
        13: .line 227
            aload 3 /* entry */
            getfield sun.rmi.server.ActivationGroupImpl$ActiveEntry.mobj:Ljava/rmi/MarshalledObject;
            astore 14
        14: .line 317
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        15: .line 318
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        16: .line 227
            aload 14
            areturn
        17: .line 229
      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 232
            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 233
            ldc Ljava/rmi/Remote;
            invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
        20: .line 231
            astore 5 /* cl */
        start local 5 // java.lang.Class cl
        21: .line 234
            aconst_null
            astore 6 /* impl */
        start local 6 // java.rmi.Remote impl
        22: .line 236
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 7 /* t */
        start local 7 // java.lang.Thread t
        23: .line 237
            aload 7 /* t */
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 8 /* savedCcl */
        start local 8 // java.lang.ClassLoader savedCcl
        24: .line 238
            aload 5 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 9 /* objcl */
        start local 9 // java.lang.ClassLoader objcl
        25: .line 239
            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 254
            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 253
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.rmi.Remote
            astore 6 /* impl */
        30: .line 278
            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 279
            aload 11 /* pae */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            astore 12 /* e */
        start local 12 // java.lang.Throwable e
        33: .line 282
            aload 12 /* e */
            instanceof java.lang.InstantiationException
            ifeq 35
        34: .line 283
            aload 12 /* e */
            checkcast java.lang.InstantiationException
            athrow
        35: .line 284
      StackMap locals: java.security.PrivilegedActionException java.lang.Throwable
      StackMap stack:
            aload 12 /* e */
            instanceof java.lang.NoSuchMethodException
            ifeq 37
        36: .line 285
            aload 12 /* e */
            checkcast java.lang.NoSuchMethodException
            athrow
        37: .line 286
      StackMap locals:
      StackMap stack:
            aload 12 /* e */
            instanceof java.lang.IllegalAccessException
            ifeq 39
        38: .line 287
            aload 12 /* e */
            checkcast java.lang.IllegalAccessException
            athrow
        39: .line 288
      StackMap locals:
      StackMap stack:
            aload 12 /* e */
            instanceof java.lang.reflect.InvocationTargetException
            ifeq 41
        40: .line 289
            aload 12 /* e */
            checkcast java.lang.reflect.InvocationTargetException
            athrow
        41: .line 290
      StackMap locals:
      StackMap stack:
            aload 12 /* e */
            instanceof java.lang.RuntimeException
            ifeq 43
        42: .line 291
            aload 12 /* e */
            checkcast java.lang.RuntimeException
            athrow
        43: .line 292
      StackMap locals:
      StackMap stack:
            aload 12 /* e */
            instanceof java.lang.Error
            ifeq 45
        44: .line 293
            aload 12 /* e */
            checkcast java.lang.Error
            athrow
        end local 12 // java.lang.Throwable e
        end local 11 // java.security.PrivilegedActionException pae
        45: .line 297
      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 298
            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 299
            aload 3 /* entry */
            getfield sun.rmi.server.ActivationGroupImpl$ActiveEntry.mobj:Ljava/rmi/MarshalledObject;
            astore 14
        48: .line 317
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        49: .line 318
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        50: .line 299
            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 301
      StackMap locals: sun.rmi.server.ActivationGroupImpl java.rmi.activation.ActivationID java.rmi.activation.ActivationDesc
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
        52: .line 306
            new java.rmi.activation.ActivationException
            dup
        53: .line 307
            ldc "Activatable object must provide an activation constructor"
        54: .line 308
            aload 3 /* e */
        55: .line 306
            invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Throwable e
        56: .line 310
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* e */
        start local 3 // java.lang.reflect.InvocationTargetException e
        57: .line 311
            new java.rmi.activation.ActivationException
            dup
            ldc "exception in object constructor"
        58: .line 312
            aload 3 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
        59: .line 311
            invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.reflect.InvocationTargetException e
        60: .line 314
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        61: .line 315
            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
        62: .line 316
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        63: .line 317
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        64: .line 318
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        65: .line 319
            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   66     0       this  Lsun/rmi/server/ActivationGroupImpl;
            0   66     1         id  Ljava/rmi/activation/ActivationID;
            0   66     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/Throwable;
           57   60     3          e  Ljava/lang/reflect/InvocationTargetException;
           61   62     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      51  Class java.lang.NoSuchMethodError
          17    48      51  Class java.lang.NoSuchMethodError
           3    14      56  Class java.lang.reflect.InvocationTargetException
          17    48      56  Class java.lang.reflect.InvocationTargetException
           3    14      60  Class java.lang.Exception
          17    48      60  Class java.lang.Exception
           3    14      62  any
          17    48      62  any
          51    62      62  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 364
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.acquireLock:(Ljava/rmi/activation/ActivationID;)V
         1: .line 365
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 366
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.groupInactive:Z
            ifeq 4
         3: .line 367
            new java.rmi.activation.ActivationException
            dup
            ldc "group is inactive"
            invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 365
      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 370
      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 371
            aload 2 /* entry */
            ifnonnull 11
        10: .line 373
            new java.rmi.activation.UnknownObjectException
            dup
            ldc "object not active"
            invokespecial java.rmi.activation.UnknownObjectException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 377
      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 390
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        13: .line 391
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        14: .line 378
            iconst_0
            ireturn
        15: .line 379
      StackMap locals:
      StackMap stack: java.rmi.NoSuchObjectException
            pop
        16: .line 383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            invokespecial java.rmi.activation.ActivationGroup.inactiveObject:(Ljava/rmi/activation/ActivationID;)Z
            pop
        17: .line 384
            goto 19
      StackMap locals:
      StackMap stack: java.rmi.activation.UnknownObjectException
        18: pop
        19: .line 387
      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 389
            goto 25
      StackMap locals: sun.rmi.server.ActivationGroupImpl java.rmi.activation.ActivationID
      StackMap stack: java.lang.Throwable
        21: astore 3
        22: .line 390
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        23: .line 391
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        24: .line 392
            aload 3
            athrow
        25: .line 390
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        26: .line 391
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        27: .line 394
            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 402
            iconst_0
            istore 1 /* groupMarkedInactive */
        start local 1 // boolean groupMarkedInactive
         1: .line 403
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 404
            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 405
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.groupInactive:Z
            ifne 6
         4: .line 407
            aload 0 /* this */
            iconst_1
            putfield sun.rmi.server.ActivationGroupImpl.groupInactive:Z
         5: .line 408
            iconst_1
            istore 1 /* groupMarkedInactive */
         6: .line 403
      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 412
      StackMap locals:
      StackMap stack:
            iload 1 /* groupMarkedInactive */
            ifeq 17
        11: .line 414
            aload 0 /* this */
            invokespecial java.rmi.activation.ActivationGroup.inactiveGroup:()V
        12: .line 415
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Exception
        13: pop
        14: .line 419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokestatic java.rmi.server.UnicastRemoteObject.unexportObject:(Ljava/rmi/Remote;Z)Z
            pop
        15: .line 420
            goto 17
      StackMap locals:
      StackMap stack: java.rmi.NoSuchObjectException
        16: pop
        17: .line 423
      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 444
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.acquireLock:(Ljava/rmi/activation/ActivationID;)V
         1: .line 445
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         2: .line 446
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.groupInactive:Z
            ifeq 4
         3: .line 447
            new java.rmi.activation.ActivationException
            dup
            ldc "group is inactive"
            invokespecial java.rmi.activation.ActivationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 445
      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 449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.rmi.server.ActivationGroupImpl.active:Ljava/util/Hashtable;
            aload 1 /* id */
            invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
            ifne 19
         9: .line 450
            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 451
            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 454
            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 455
            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 459
            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 460
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        17: .line 461
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        18: .line 462
            aload 4
            athrow
        19: .line 460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual sun.rmi.server.ActivationGroupImpl.releaseLock:(Ljava/rmi/activation/ActivationID;)V
        20: .line 461
            aload 0 /* this */
            invokevirtual sun.rmi.server.ActivationGroupImpl.checkInactiveGroup:()V
        21: .line 463
            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 489
            aload 1 /* sup */
            ifnonnull 2
         1: .line 490
            iconst_1
            ireturn
         2: .line 491
      StackMap locals:
      StackMap stack:
            aload 0 /* sub */
            ifnonnull 4
         3: .line 492
            iconst_0
            ireturn
         4: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* sub */
            aload 1 /* sup */
            if_acmpne 6
         5: .line 496
            iconst_1
            ireturn
         6: .line 498
      StackMap locals:
      StackMap stack:
            aload 0 /* sub */
            invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
            astore 0 /* sub */
         7: .line 499
            aload 0 /* sub */
            ifnonnull 4
         8: .line 500
            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