final class sun.awt.datatransfer.ClassLoaderObjectInputStream extends java.io.ObjectInputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.awt.datatransfer.ClassLoaderObjectInputStream
  super_class: java.io.ObjectInputStream
{
  private final java.util.Map<java.util.Set<java.lang.String>, java.lang.ClassLoader> map;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/util/Set<Ljava/lang/String;>;Ljava/lang/ClassLoader;>;

  void <init>(java.io.InputStream, java.util.Map<java.util.Set<java.lang.String>, java.lang.ClassLoader>);
    descriptor: (Ljava/io/InputStream;Ljava/util/Map;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.awt.datatransfer.ClassLoaderObjectInputStream this
        start local 1 // java.io.InputStream is
        start local 2 // java.util.Map map
         0: .line 154
            aload 0 /* this */
            aload 1 /* is */
            invokespecial java.io.ObjectInputStream.<init>:(Ljava/io/InputStream;)V
         1: .line 155
            aload 2 /* map */
            ifnonnull 3
         2: .line 156
            new java.lang.NullPointerException
            dup
            ldc "Null map"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 158
      StackMap locals: sun.awt.datatransfer.ClassLoaderObjectInputStream java.io.InputStream java.util.Map
      StackMap stack:
            aload 0 /* this */
            aload 2 /* map */
            putfield sun.awt.datatransfer.ClassLoaderObjectInputStream.map:Ljava/util/Map;
         4: .line 159
            return
        end local 2 // java.util.Map map
        end local 1 // java.io.InputStream is
        end local 0 // sun.awt.datatransfer.ClassLoaderObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/datatransfer/ClassLoaderObjectInputStream;
            0    5     1    is  Ljava/io/InputStream;
            0    5     2   map  Ljava/util/Map<Ljava/util/Set<Ljava/lang/String;>;Ljava/lang/ClassLoader;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/InputStream;Ljava/util/Map<Ljava/util/Set<Ljava/lang/String;>;Ljava/lang/ClassLoader;>;)V
    MethodParameters:
      Name  Flags
      is    
      map   

  protected java.lang.Class<?> resolveClass(java.io.ObjectStreamClass);
    descriptor: (Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.awt.datatransfer.ClassLoaderObjectInputStream this
        start local 1 // java.io.ObjectStreamClass classDesc
         0: .line 163
            aload 1 /* classDesc */
            invokevirtual java.io.ObjectStreamClass.getName:()Ljava/lang/String;
            astore 2 /* className */
        start local 2 // java.lang.String className
         1: .line 165
            new java.util.HashSet
            dup
            iconst_1
            invokespecial java.util.HashSet.<init>:(I)V
            astore 3 /* s */
        start local 3 // java.util.Set s
         2: .line 166
            aload 3 /* s */
            aload 2 /* className */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 168
            aload 0 /* this */
            getfield sun.awt.datatransfer.ClassLoaderObjectInputStream.map:Ljava/util/Map;
            aload 3 /* s */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            astore 4 /* classLoader */
        start local 4 // java.lang.ClassLoader classLoader
         4: .line 169
            aload 4 /* classLoader */
            ifnull 6
         5: .line 170
            aload 2 /* className */
            iconst_0
            aload 4 /* classLoader */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            areturn
         6: .line 172
      StackMap locals: java.lang.String java.util.Set java.lang.ClassLoader
      StackMap stack:
            aload 0 /* this */
            aload 1 /* classDesc */
            invokespecial java.io.ObjectInputStream.resolveClass:(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
            areturn
        end local 4 // java.lang.ClassLoader classLoader
        end local 3 // java.util.Set s
        end local 2 // java.lang.String className
        end local 1 // java.io.ObjectStreamClass classDesc
        end local 0 // sun.awt.datatransfer.ClassLoaderObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lsun/awt/datatransfer/ClassLoaderObjectInputStream;
            0    7     1    classDesc  Ljava/io/ObjectStreamClass;
            1    7     2    className  Ljava/lang/String;
            2    7     3            s  Ljava/util/Set<Ljava/lang/String;>;
            4    7     4  classLoader  Ljava/lang/ClassLoader;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: (Ljava/io/ObjectStreamClass;)Ljava/lang/Class<*>;
    MethodParameters:
           Name  Flags
      classDesc  

  protected java.lang.Class<?> resolveProxyClass(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // sun.awt.datatransfer.ClassLoaderObjectInputStream this
        start local 1 // java.lang.String[] interfaces
         0: .line 179
            new java.util.HashSet
            dup
            aload 1 /* interfaces */
            arraylength
            invokespecial java.util.HashSet.<init>:(I)V
            astore 2 /* s */
        start local 2 // java.util.Set s
         1: .line 180
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 181
      StackMap locals: java.util.Set int
      StackMap stack:
            aload 2 /* s */
            aload 1 /* interfaces */
            iload 3 /* i */
            aaload
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 180
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 1 /* interfaces */
            arraylength
            if_icmplt 3
        end local 3 // int i
         6: .line 184
            aload 0 /* this */
            getfield sun.awt.datatransfer.ClassLoaderObjectInputStream.map:Ljava/util/Map;
            aload 2 /* s */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            astore 3 /* classLoader */
        start local 3 // java.lang.ClassLoader classLoader
         7: .line 185
            aload 3 /* classLoader */
            ifnonnull 9
         8: .line 186
            aload 0 /* this */
            aload 1 /* interfaces */
            invokespecial java.io.ObjectInputStream.resolveProxyClass:([Ljava/lang/String;)Ljava/lang/Class;
            areturn
         9: .line 190
      StackMap locals: sun.awt.datatransfer.ClassLoaderObjectInputStream java.lang.String[] java.util.Set java.lang.ClassLoader
      StackMap stack:
            aconst_null
            astore 4 /* nonPublicLoader */
        start local 4 // java.lang.ClassLoader nonPublicLoader
        10: .line 191
            iconst_0
            istore 5 /* hasNonPublicInterface */
        start local 5 // boolean hasNonPublicInterface
        11: .line 194
            aload 1 /* interfaces */
            arraylength
            anewarray java.lang.Class
            astore 6 /* classObjs */
        start local 6 // java.lang.Class[] classObjs
        12: .line 195
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        13: goto 25
        14: .line 196
      StackMap locals: sun.awt.datatransfer.ClassLoaderObjectInputStream java.lang.String[] java.util.Set java.lang.ClassLoader java.lang.ClassLoader int java.lang.Class[] int
      StackMap stack:
            aload 1 /* interfaces */
            iload 7 /* i */
            aaload
            iconst_0
            aload 3 /* classLoader */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 8 /* cl */
        start local 8 // java.lang.Class cl
        15: .line 197
            aload 8 /* cl */
            invokevirtual java.lang.Class.getModifiers:()I
            iconst_1
            iand
            ifne 23
        16: .line 198
            iload 5 /* hasNonPublicInterface */
            ifeq 21
        17: .line 199
            aload 4 /* nonPublicLoader */
            aload 8 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            if_acmpeq 23
        18: .line 200
            new java.lang.IllegalAccessError
            dup
        19: .line 201
            ldc "conflicting non-public interface class loaders"
        20: .line 200
            invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 204
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 8 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 4 /* nonPublicLoader */
        22: .line 205
            iconst_1
            istore 5 /* hasNonPublicInterface */
        23: .line 208
      StackMap locals:
      StackMap stack:
            aload 6 /* classObjs */
            iload 7 /* i */
            aload 8 /* cl */
            aastore
        end local 8 // java.lang.Class cl
        24: .line 195
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 7 /* i */
            aload 1 /* interfaces */
            arraylength
            if_icmplt 14
        end local 7 // int i
        26: .line 212
            iload 5 /* hasNonPublicInterface */
            ifeq 28
        27: .line 213
            aload 4 /* nonPublicLoader */
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 3 /* classLoader */
        29: .line 214
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
            aload 6 /* classObjs */
        30: .line 212
            invokestatic java.lang.reflect.Proxy.getProxyClass:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;
            astore 7 /* proxyClass */
        start local 7 // java.lang.Class proxyClass
        31: .line 215
            aload 7 /* proxyClass */
        32: areturn
        end local 7 // java.lang.Class proxyClass
        33: .line 216
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 7 /* e */
        start local 7 // java.lang.IllegalArgumentException e
        34: .line 217
            new java.lang.ClassNotFoundException
            dup
            aconst_null
            aload 7 /* e */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.lang.IllegalArgumentException e
        end local 6 // java.lang.Class[] classObjs
        end local 5 // boolean hasNonPublicInterface
        end local 4 // java.lang.ClassLoader nonPublicLoader
        end local 3 // java.lang.ClassLoader classLoader
        end local 2 // java.util.Set s
        end local 1 // java.lang.String[] interfaces
        end local 0 // sun.awt.datatransfer.ClassLoaderObjectInputStream this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   35     0                   this  Lsun/awt/datatransfer/ClassLoaderObjectInputStream;
            0   35     1             interfaces  [Ljava/lang/String;
            1   35     2                      s  Ljava/util/Set<Ljava/lang/String;>;
            2    6     3                      i  I
            7   35     3            classLoader  Ljava/lang/ClassLoader;
           10   35     4        nonPublicLoader  Ljava/lang/ClassLoader;
           11   35     5  hasNonPublicInterface  Z
           12   35     6              classObjs  [Ljava/lang/Class;
           13   26     7                      i  I
           15   24     8                     cl  Ljava/lang/Class<*>;
           31   33     7             proxyClass  Ljava/lang/Class<*>;
           34   35     7                      e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          26    32      33  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: ([Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
            Name  Flags
      interfaces  
}
SourceFile: "TransferableProxy.java"