public final class com.sun.jmx.remote.internal.IIOPHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.jmx.remote.internal.IIOPHelper
  super_class: java.lang.Object
{
  private static final java.lang.String IMPL_CLASS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jmx.remote.protocol.iiop.IIOPProxyImpl"

  private static final com.sun.jmx.remote.internal.IIOPProxy proxy;
    descriptor: Lcom/sun/jmx/remote/internal/IIOPProxy;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 47
            new com.sun.jmx.remote.internal.IIOPHelper$1
            dup
            invokespecial com.sun.jmx.remote.internal.IIOPHelper$1.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast com.sun.jmx.remote.internal.IIOPProxy
         1: .line 46
            putstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
         2: .line 60
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.remote.internal.IIOPHelper this
         0: .line 41
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.jmx.remote.internal.IIOPHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/remote/internal/IIOPHelper;

  public static boolean isAvailable();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 66
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void ensureAvailable();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 70
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            ifnonnull 2
         1: .line 71
            new java.lang.AssertionError
            dup
            ldc "Should not here"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 72
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean isStub(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 78
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            aload 0 /* obj */
            invokeinterface com.sun.jmx.remote.internal.IIOPProxy.isStub:(Ljava/lang/Object;)Z
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public static java.lang.Object getDelegate(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object stub
         0: .line 85
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.ensureAvailable:()V
         1: .line 86
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            aload 0 /* stub */
            invokeinterface com.sun.jmx.remote.internal.IIOPProxy.getDelegate:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 0 // java.lang.Object stub
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  stub  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      stub  

  public static void setDelegate(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object stub
        start local 1 // java.lang.Object delegate
         0: .line 93
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.ensureAvailable:()V
         1: .line 94
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            aload 0 /* stub */
            aload 1 /* delegate */
            invokeinterface com.sun.jmx.remote.internal.IIOPProxy.setDelegate:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 95
            return
        end local 1 // java.lang.Object delegate
        end local 0 // java.lang.Object stub
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      stub  Ljava/lang/Object;
            0    3     1  delegate  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      stub      
      delegate  

  public static java.lang.Object getOrb(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object stub
         0: .line 105
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.ensureAvailable:()V
         1: .line 106
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            aload 0 /* stub */
            invokeinterface com.sun.jmx.remote.internal.IIOPProxy.getOrb:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 0 // java.lang.Object stub
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  stub  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      stub  

  public static void connect(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object stub
        start local 1 // java.lang.Object orb
         0: .line 115
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            ifnonnull 2
         1: .line 116
            new java.io.IOException
            dup
            ldc "Connection to ORB failed, RMI/IIOP not available"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 117
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            aload 0 /* stub */
            aload 1 /* orb */
            invokeinterface com.sun.jmx.remote.internal.IIOPProxy.connect:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 118
            return
        end local 1 // java.lang.Object orb
        end local 0 // java.lang.Object stub
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  stub  Ljava/lang/Object;
            0    4     1   orb  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      stub  
      orb   

  public static boolean isOrb(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 124
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            aload 0 /* obj */
            invokeinterface com.sun.jmx.remote.internal.IIOPProxy.isOrb:(Ljava/lang/Object;)Z
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public static java.lang.Object createOrb(java.lang.String[], java.util.Properties);
    descriptor: ([Ljava/lang/String;Ljava/util/Properties;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String[] args
        start local 1 // java.util.Properties props
         0: .line 133
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            ifnonnull 2
         1: .line 134
            new java.io.IOException
            dup
            ldc "ORB initialization failed, RMI/IIOP not available"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 135
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            aload 0 /* args */
            aload 1 /* props */
            invokeinterface com.sun.jmx.remote.internal.IIOPProxy.createOrb:([Ljava/lang/String;Ljava/util/Properties;)Ljava/lang/Object;
            areturn
        end local 1 // java.util.Properties props
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   args  [Ljava/lang/String;
            0    3     1  props  Ljava/util/Properties;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      args   
      props  

  public static java.lang.Object stringToObject(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object orb
        start local 1 // java.lang.String str
         0: .line 143
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.ensureAvailable:()V
         1: .line 144
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            aload 0 /* orb */
            aload 1 /* str */
            invokeinterface com.sun.jmx.remote.internal.IIOPProxy.stringToObject:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String str
        end local 0 // java.lang.Object orb
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   orb  Ljava/lang/Object;
            0    2     1   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      orb   
      str   

  public static java.lang.String objectToString(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object orb
        start local 1 // java.lang.Object obj
         0: .line 151
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.ensureAvailable:()V
         1: .line 152
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            aload 0 /* orb */
            aload 1 /* obj */
            invokeinterface com.sun.jmx.remote.internal.IIOPProxy.objectToString:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object orb
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   orb  Ljava/lang/Object;
            0    2     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      orb   
      obj   

  public static <T> T narrow(, java.lang.Class<T>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object narrowFrom
        start local 1 // java.lang.Class narrowTo
         0: .line 160
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.ensureAvailable:()V
         1: .line 161
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            aload 0 /* narrowFrom */
            aload 1 /* narrowTo */
            invokeinterface com.sun.jmx.remote.internal.IIOPProxy.narrow:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class narrowTo
        end local 0 // java.lang.Object narrowFrom
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  narrowFrom  Ljava/lang/Object;
            0    2     1    narrowTo  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
            Name  Flags
      narrowFrom  
      narrowTo    

  public static void exportObject(java.rmi.Remote);
    descriptor: (Ljava/rmi/Remote;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.rmi.Remote obj
         0: .line 168
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            ifnonnull 2
         1: .line 169
            new java.io.IOException
            dup
            ldc "RMI object cannot be exported, RMI/IIOP not available"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 170
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            aload 0 /* obj */
            invokeinterface com.sun.jmx.remote.internal.IIOPProxy.exportObject:(Ljava/rmi/Remote;)V
         3: .line 171
            return
        end local 0 // java.rmi.Remote obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   obj  Ljava/rmi/Remote;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  public static void unexportObject(java.rmi.Remote);
    descriptor: (Ljava/rmi/Remote;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.rmi.Remote obj
         0: .line 177
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            ifnonnull 2
         1: .line 178
            new java.rmi.NoSuchObjectException
            dup
            ldc "Object not exported"
            invokespecial java.rmi.NoSuchObjectException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 179
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            aload 0 /* obj */
            invokeinterface com.sun.jmx.remote.internal.IIOPProxy.unexportObject:(Ljava/rmi/Remote;)V
         3: .line 180
            return
        end local 0 // java.rmi.Remote obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   obj  Ljava/rmi/Remote;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  public static java.rmi.Remote toStub(java.rmi.Remote);
    descriptor: (Ljava/rmi/Remote;)Ljava/rmi/Remote;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.rmi.Remote obj
         0: .line 186
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            ifnonnull 2
         1: .line 187
            new java.rmi.NoSuchObjectException
            dup
            ldc "Object not exported"
            invokespecial java.rmi.NoSuchObjectException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 188
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.remote.internal.IIOPHelper.proxy:Lcom/sun/jmx/remote/internal/IIOPProxy;
            aload 0 /* obj */
            invokeinterface com.sun.jmx.remote.internal.IIOPProxy.toStub:(Ljava/rmi/Remote;)Ljava/rmi/Remote;
            areturn
        end local 0 // java.rmi.Remote obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  Ljava/rmi/Remote;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
}
SourceFile: "IIOPHelper.java"
NestMembers:
  com.sun.jmx.remote.internal.IIOPHelper$1
InnerClasses:
  com.sun.jmx.remote.internal.IIOPHelper$1