public class com.sun.jmx.remote.util.EnvHelp
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.jmx.remote.util.EnvHelp
  super_class: java.lang.Object
{
  public static final java.lang.String CREDENTIAL_TYPES;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmx.remote.rmi.server.credential.types"

  private static final java.lang.String DEFAULT_CLASS_LOADER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmx.remote.default.class.loader"

  private static final java.lang.String DEFAULT_CLASS_LOADER_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmx.remote.default.class.loader.name"

  public static final java.lang.String BUFFER_SIZE_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmx.remote.x.notification.buffer.size"

  public static final java.lang.String MAX_FETCH_NOTIFS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmx.remote.x.notification.fetch.max"

  public static final java.lang.String FETCH_TIMEOUT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmx.remote.x.notification.fetch.timeout"

  public static final java.lang.String DEFAULT_ORB;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.naming.corba.orb"

  public static final java.lang.String HIDDEN_ATTRIBUTES;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmx.remote.x.hidden.attributes"

  public static final java.lang.String DEFAULT_HIDDEN_ATTRIBUTES;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.naming.security.* jmx.remote.authenticator jmx.remote.context jmx.remote.default.class.loader jmx.remote.message.connection.server jmx.remote.object.wrapping jmx.remote.rmi.client.socket.factory jmx.remote.rmi.server.socket.factory jmx.remote.sasl.callback.handler jmx.remote.tls.socket.factory jmx.remote.x.access.file jmx.remote.x.password.file "

  private static final java.util.SortedSet<java.lang.String> defaultHiddenStrings;
    descriptor: Ljava/util/SortedSet;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/SortedSet<Ljava/lang/String;>;

  private static final java.util.SortedSet<java.lang.String> defaultHiddenPrefixes;
    descriptor: Ljava/util/SortedSet;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/SortedSet<Ljava/lang/String;>;

  public static final java.lang.String SERVER_CONNECTION_TIMEOUT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmx.remote.x.server.connection.timeout"

  public static final java.lang.String CLIENT_CONNECTION_CHECK_PERIOD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmx.remote.x.client.connection.check.period"

  private static final com.sun.jmx.remote.util.ClassLogger logger;
    descriptor: Lcom/sun/jmx/remote/util/ClassLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 527
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
         1: .line 526
            putstatic com.sun.jmx.remote.util.EnvHelp.defaultHiddenStrings:Ljava/util/SortedSet;
         2: .line 529
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
         3: .line 528
            putstatic com.sun.jmx.remote.util.EnvHelp.defaultHiddenPrefixes:Ljava/util/SortedSet;
         4: .line 727
            new com.sun.jmx.remote.util.ClassLogger
            dup
            ldc "javax.management.remote.misc"
            ldc "EnvHelp"
            invokespecial com.sun.jmx.remote.util.ClassLogger.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 726
            putstatic com.sun.jmx.remote.util.EnvHelp.logger:Lcom/sun/jmx/remote/util/ClassLogger;
         6: .line 727
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.remote.util.EnvHelp this
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.jmx.remote.util.EnvHelp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/remote/util/EnvHelp;

  public static java.lang.ClassLoader resolveServerClassLoader(java.util.Map, javax.management.MBeanServer);
    descriptor: (Ljava/util/Map;Ljavax/management/MBeanServer;)Ljava/lang/ClassLoader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.util.Map env
        start local 1 // javax.management.MBeanServer mbs
         0: .line 139
            aload 0 /* env */
            ifnonnull 2
         1: .line 140
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            areturn
         2: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* env */
            ldc "jmx.remote.default.class.loader"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* loader */
        start local 2 // java.lang.Object loader
         3: .line 143
            aload 0 /* env */
            ldc "jmx.remote.default.class.loader.name"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* name */
        start local 3 // java.lang.Object name
         4: .line 145
            aload 2 /* loader */
            ifnull 6
            aload 3 /* name */
            ifnull 6
         5: .line 150
            new java.lang.IllegalArgumentException
            dup
            ldc "Only one of jmx.remote.default.class.loader or jmx.remote.default.class.loader.name should be specified."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 153
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 2 /* loader */
            ifnonnull 8
            aload 3 /* name */
            ifnonnull 8
         7: .line 154
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            areturn
         8: .line 156
      StackMap locals:
      StackMap stack:
            aload 2 /* loader */
            ifnull 17
         9: .line 157
            aload 2 /* loader */
            instanceof java.lang.ClassLoader
            ifeq 11
        10: .line 158
            aload 2 /* loader */
            checkcast java.lang.ClassLoader
            areturn
        11: .line 161
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "ClassLoader object is not an instance of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 162
            ldc Ljava/lang/ClassLoader;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 163
            aload 2 /* loader */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 161
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 160
            astore 4 /* msg */
        start local 4 // java.lang.String msg
        16: .line 164
            new java.lang.IllegalArgumentException
            dup
            aload 4 /* msg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String msg
        17: .line 169
      StackMap locals:
      StackMap stack:
            aload 3 /* name */
            instanceof javax.management.ObjectName
            ifeq 20
        18: .line 170
            aload 3 /* name */
            checkcast javax.management.ObjectName
            astore 4 /* on */
        start local 4 // javax.management.ObjectName on
        19: .line 171
            goto 26
        end local 4 // javax.management.ObjectName on
        20: .line 173
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "ClassLoader name is not an instance of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 174
            ldc Ljavax/management/ObjectName;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 175
            aload 3 /* name */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 173
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        24: .line 172
            astore 5 /* msg */
        start local 5 // java.lang.String msg
        25: .line 176
            new java.lang.IllegalArgumentException
            dup
            aload 5 /* msg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String msg
        start local 4 // javax.management.ObjectName on
        26: .line 179
      StackMap locals: javax.management.ObjectName
      StackMap stack:
            aload 1 /* mbs */
            ifnonnull 28
        27: .line 180
            new java.lang.IllegalArgumentException
            dup
            ldc "Null MBeanServer object"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 182
      StackMap locals:
      StackMap stack:
            aload 1 /* mbs */
            aload 4 /* on */
            invokeinterface javax.management.MBeanServer.getClassLoader:(Ljavax/management/ObjectName;)Ljava/lang/ClassLoader;
            areturn
        end local 4 // javax.management.ObjectName on
        end local 3 // java.lang.Object name
        end local 2 // java.lang.Object loader
        end local 1 // javax.management.MBeanServer mbs
        end local 0 // java.util.Map env
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   29     0     env  Ljava/util/Map;
            0   29     1     mbs  Ljavax/management/MBeanServer;
            3   29     2  loader  Ljava/lang/Object;
            4   29     3    name  Ljava/lang/Object;
           16   17     4     msg  Ljava/lang/String;
           19   20     4      on  Ljavax/management/ObjectName;
           26   29     4      on  Ljavax/management/ObjectName;
           25   26     5     msg  Ljava/lang/String;
    Exceptions:
      throws javax.management.InstanceNotFoundException
    MethodParameters:
      Name  Flags
      env   
      mbs   

  public static java.lang.ClassLoader resolveClientClassLoader(java.util.Map);
    descriptor: (Ljava/util/Map;)Ljava/lang/ClassLoader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.util.Map env
         0: .line 214
            aload 0 /* env */
            ifnonnull 2
         1: .line 215
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            areturn
         2: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* env */
            ldc "jmx.remote.default.class.loader"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* loader */
        start local 1 // java.lang.Object loader
         3: .line 219
            aload 1 /* loader */
            ifnonnull 5
         4: .line 220
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            areturn
         5: .line 222
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* loader */
            instanceof java.lang.ClassLoader
            ifeq 7
         6: .line 223
            aload 1 /* loader */
            checkcast java.lang.ClassLoader
            areturn
         7: .line 226
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "ClassLoader object is not an instance of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 227
            ldc Ljava/lang/ClassLoader;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 228
            aload 1 /* loader */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 226
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 225
            astore 2 /* msg */
        start local 2 // java.lang.String msg
        12: .line 229
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* msg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String msg
        end local 1 // java.lang.Object loader
        end local 0 // java.util.Map env
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0     env  Ljava/util/Map;
            3   13     1  loader  Ljava/lang/Object;
           12   13     2     msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      env   

  public static <T extends java.lang.Throwable> T initCause(T, java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Throwable throwable
        start local 1 // java.lang.Throwable cause
         0: .line 242
            aload 0 /* throwable */
            aload 1 /* cause */
            invokevirtual java.lang.Throwable.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         1: .line 243
            aload 0 /* throwable */
            areturn
        end local 1 // java.lang.Throwable cause
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  throwable  TT;
            0    2     1      cause  Ljava/lang/Throwable;
    Signature: <T:Ljava/lang/Throwable;>(TT;Ljava/lang/Throwable;)TT;
    MethodParameters:
           Name  Flags
      throwable  
      cause      

  public static java.lang.Throwable getCause(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 255
            aload 0 /* t */
            astore 1 /* ret */
        start local 1 // java.lang.Throwable ret
         1: .line 259
            aload 0 /* t */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc "getCause"
            aconst_null
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         2: .line 258
            astore 2 /* getCause */
        start local 2 // java.lang.reflect.Method getCause
         3: .line 260
            aload 2 /* getCause */
            aload 0 /* t */
            aconst_null
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Throwable
            astore 1 /* ret */
        end local 2 // java.lang.reflect.Method getCause
         4: .line 262
            goto 6
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack: java.lang.Exception
         5: pop
         6: .line 266
      StackMap locals:
      StackMap stack:
            aload 1 /* ret */
            ifnull 7
            aload 1 /* ret */
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 0 /* t */
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: areturn
        end local 1 // java.lang.Throwable ret
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0         t  Ljava/lang/Throwable;
            1    9     1       ret  Ljava/lang/Throwable;
            3    4     2  getCause  Ljava/lang/reflect/Method;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      t     

  public static int getNotifBufferSize(java.util.Map);
    descriptor: (Ljava/util/Map;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=1
        start local 0 // java.util.Map env
         0: .line 283
            sipush 1000
            istore 1 /* defaultQueueSize */
        start local 1 // int defaultQueueSize
         1: .line 292
            new com.sun.jmx.mbeanserver.GetPropertyAction
            dup
            ldc "jmx.remote.x.notification.buffer.size"
            invokespecial com.sun.jmx.mbeanserver.GetPropertyAction.<init>:(Ljava/lang/String;)V
            astore 2 /* act */
        start local 2 // com.sun.jmx.mbeanserver.GetPropertyAction act
         2: .line 293
            aload 2 /* act */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* s */
        start local 3 // java.lang.String s
         3: .line 294
            aload 3 /* s */
            ifnull 6
         4: .line 295
            aload 3 /* s */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 1 /* defaultQueueSize */
         5: .line 296
            goto 18
         6: .line 297
      StackMap locals: int com.sun.jmx.mbeanserver.GetPropertyAction java.lang.String
      StackMap stack:
            new com.sun.jmx.mbeanserver.GetPropertyAction
            dup
            ldc "jmx.remote.x.buffer.size"
            invokespecial com.sun.jmx.mbeanserver.GetPropertyAction.<init>:(Ljava/lang/String;)V
            astore 2 /* act */
         7: .line 298
            aload 2 /* act */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* s */
         8: .line 299
            aload 3 /* s */
            ifnull 18
         9: .line 300
            aload 3 /* s */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 1 /* defaultQueueSize */
        end local 3 // java.lang.String s
        end local 2 // com.sun.jmx.mbeanserver.GetPropertyAction act
        10: .line 303
            goto 18
      StackMap locals: java.util.Map int
      StackMap stack: java.lang.RuntimeException
        11: astore 2 /* e */
        start local 2 // java.lang.RuntimeException e
        12: .line 304
            getstatic com.sun.jmx.remote.util.EnvHelp.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "getNotifBufferSize"
        13: .line 305
            new java.lang.StringBuilder
            dup
            ldc "Can't use System property jmx.remote.x.notification.buffer.size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        14: .line 306
            aload 2 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        15: .line 305
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 304
            invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
        17: .line 307
            getstatic com.sun.jmx.remote.util.EnvHelp.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "getNotifBufferSize"
            aload 2 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 2 // java.lang.RuntimeException e
        18: .line 310
      StackMap locals:
      StackMap stack:
            iload 1 /* defaultQueueSize */
            istore 2 /* queueSize */
        start local 2 // int queueSize
        19: .line 313
            aload 0 /* env */
            ldc "jmx.remote.x.notification.buffer.size"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 25
        20: .line 314
            aload 0 /* env */
            ldc "jmx.remote.x.notification.buffer.size"
        21: .line 315
            iload 1 /* defaultQueueSize */
            i2l
            lconst_0
        22: .line 316
            ldc 2147483647
        23: .line 314
            invokestatic com.sun.jmx.remote.util.EnvHelp.getIntegerAttribute:(Ljava/util/Map;Ljava/lang/String;JJJ)J
            l2i
            istore 2 /* queueSize */
        24: .line 317
            goto 37
        25: .line 318
      StackMap locals: int
      StackMap stack:
            aload 0 /* env */
            ldc "jmx.remote.x.buffer.size"
        26: .line 319
            iload 1 /* defaultQueueSize */
            i2l
            lconst_0
        27: .line 320
            ldc 2147483647
        28: .line 318
            invokestatic com.sun.jmx.remote.util.EnvHelp.getIntegerAttribute:(Ljava/util/Map;Ljava/lang/String;JJJ)J
            l2i
            istore 2 /* queueSize */
        29: .line 322
            goto 37
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        30: astore 3 /* e */
        start local 3 // java.lang.RuntimeException e
        31: .line 323
            getstatic com.sun.jmx.remote.util.EnvHelp.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "getNotifBufferSize"
        32: .line 324
            new java.lang.StringBuilder
            dup
            ldc "Can't determine queuesize (using default): "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        33: .line 325
            aload 3 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        34: .line 324
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        35: .line 323
            invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
        36: .line 326
            getstatic com.sun.jmx.remote.util.EnvHelp.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "getNotifBufferSize"
            aload 3 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 3 // java.lang.RuntimeException e
        37: .line 329
      StackMap locals:
      StackMap stack:
            iload 2 /* queueSize */
            ireturn
        end local 2 // int queueSize
        end local 1 // int defaultQueueSize
        end local 0 // java.util.Map env
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   38     0               env  Ljava/util/Map;
            1   38     1  defaultQueueSize  I
            2   10     2               act  Lcom/sun/jmx/mbeanserver/GetPropertyAction;
            3   10     3                 s  Ljava/lang/String;
           12   18     2                 e  Ljava/lang/RuntimeException;
           19   38     2         queueSize  I
           31   37     3                 e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           1    10      11  Class java.lang.RuntimeException
          19    29      30  Class java.lang.RuntimeException
    MethodParameters:
      Name  Flags
      env   

  public static int getMaxFetchNotifNumber(java.util.Map);
    descriptor: (Ljava/util/Map;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // java.util.Map env
         0: .line 346
            aload 0 /* env */
            ldc "jmx.remote.x.notification.fetch.max"
            ldc 1000
            lconst_1
         1: .line 347
            ldc 2147483647
         2: .line 346
            invokestatic com.sun.jmx.remote.util.EnvHelp.getIntegerAttribute:(Ljava/util/Map;Ljava/lang/String;JJJ)J
            l2i
            ireturn
        end local 0 // java.util.Map env
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   env  Ljava/util/Map;
    MethodParameters:
      Name  Flags
      env   

  public static long getFetchTimeout(java.util.Map);
    descriptor: (Ljava/util/Map;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // java.util.Map env
         0: .line 363
            aload 0 /* env */
            ldc "jmx.remote.x.notification.fetch.timeout"
            ldc 60000
            lconst_0
         1: .line 364
            ldc 9223372036854775807
         2: .line 363
            invokestatic com.sun.jmx.remote.util.EnvHelp.getIntegerAttribute:(Ljava/util/Map;Ljava/lang/String;JJJ)J
            lreturn
        end local 0 // java.util.Map env
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   env  Ljava/util/Map;
    MethodParameters:
      Name  Flags
      env   

  public static long getIntegerAttribute(java.util.Map, java.lang.String, long, long, long);
    descriptor: (Ljava/util/Map;Ljava/lang/String;JJJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=12, args_size=5
        start local 0 // java.util.Map env
        start local 1 // java.lang.String name
        start local 2 // long defaultValue
        start local 4 // long minValue
        start local 6 // long maxValue
         0: .line 384
            aload 0 /* env */
            ifnull 2
            aload 0 /* env */
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            dup
            astore 8 /* o */
        start local 8 // java.lang.Object o
         1: ifnonnull 3
        end local 8 // java.lang.Object o
         2: .line 385
      StackMap locals:
      StackMap stack:
            lload 2 /* defaultValue */
            lreturn
        start local 8 // java.lang.Object o
         3: .line 389
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 8 /* o */
            instanceof java.lang.Number
            ifeq 6
         4: .line 390
            aload 8 /* o */
            checkcast java.lang.Number
            invokevirtual java.lang.Number.longValue:()J
            lstore 9 /* result */
        start local 9 // long result
         5: goto 12
        end local 9 // long result
         6: .line 391
      StackMap locals:
      StackMap stack:
            aload 8 /* o */
            instanceof java.lang.String
            ifeq 9
         7: .line 392
            aload 8 /* o */
            checkcast java.lang.String
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            lstore 9 /* result */
        start local 9 // long result
         8: .line 395
            goto 12
        end local 9 // long result
         9: .line 397
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Attribute "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " value must be Integer or String: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* o */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 396
            astore 11 /* msg */
        start local 11 // java.lang.String msg
        11: .line 398
            new java.lang.IllegalArgumentException
            dup
            aload 11 /* msg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.String msg
        start local 9 // long result
        12: .line 401
      StackMap locals: long
      StackMap stack:
            lload 9 /* result */
            lload 4 /* minValue */
            lcmp
            ifge 18
        13: .line 403
            new java.lang.StringBuilder
            dup
            ldc "Attribute "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " value must be at least "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 4 /* minValue */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        14: .line 404
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 9 /* result */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        15: .line 403
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 402
            astore 11 /* msg */
        start local 11 // java.lang.String msg
        17: .line 405
            new java.lang.IllegalArgumentException
            dup
            aload 11 /* msg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.String msg
        18: .line 408
      StackMap locals:
      StackMap stack:
            lload 9 /* result */
            lload 6 /* maxValue */
            lcmp
            ifle 24
        19: .line 410
            new java.lang.StringBuilder
            dup
            ldc "Attribute "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " value must be at most "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 6 /* maxValue */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        20: .line 411
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 9 /* result */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        21: .line 410
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 409
            astore 11 /* msg */
        start local 11 // java.lang.String msg
        23: .line 412
            new java.lang.IllegalArgumentException
            dup
            aload 11 /* msg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.String msg
        24: .line 415
      StackMap locals:
      StackMap stack:
            lload 9 /* result */
            lreturn
        end local 9 // long result
        end local 8 // java.lang.Object o
        end local 6 // long maxValue
        end local 4 // long minValue
        end local 2 // long defaultValue
        end local 1 // java.lang.String name
        end local 0 // java.util.Map env
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0           env  Ljava/util/Map;
            0   25     1          name  Ljava/lang/String;
            0   25     2  defaultValue  J
            0   25     4      minValue  J
            0   25     6      maxValue  J
            1    2     8             o  Ljava/lang/Object;
            3   25     8             o  Ljava/lang/Object;
            5    6     9        result  J
            8    9     9        result  J
           12   25     9        result  J
           11   12    11           msg  Ljava/lang/String;
           17   18    11           msg  Ljava/lang/String;
           23   24    11           msg  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      env           
      name          
      defaultValue  
      minValue      
      maxValue      

  public static void checkAttributes(java.util.Map);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.util.Map attributes
         0: .line 423
            aload 0 /* attributes */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 1 /* it */
        start local 1 // java.util.Iterator it
         1: goto 7
         2: .line 424
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 2 /* key */
        start local 2 // java.lang.Object key
         3: .line 425
            aload 2 /* key */
            instanceof java.lang.String
            ifne 7
         4: .line 427
            new java.lang.StringBuilder
            dup
            ldc "Attributes contain key that is not a string: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 426
            astore 3 /* msg */
        start local 3 // java.lang.String msg
         6: .line 428
            new java.lang.IllegalArgumentException
            dup
            aload 3 /* msg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String msg
        end local 2 // java.lang.Object key
         7: .line 423
      StackMap locals:
      StackMap stack:
            aload 1 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        end local 1 // java.util.Iterator it
         8: .line 431
            return
        end local 0 // java.util.Map attributes
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0  attributes  Ljava/util/Map;
            1    8     1          it  Ljava/util/Iterator;
            3    7     2         key  Ljava/lang/Object;
            6    7     3         msg  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      attributes  

  public static <V> java.util.Map<java.lang.String, V> filterAttributes(java.util.Map<java.lang.String, V>);
    descriptor: (Ljava/util/Map;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.Map attributes
         0: .line 438
            getstatic com.sun.jmx.remote.util.EnvHelp.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            ifeq 2
         1: .line 439
            getstatic com.sun.jmx.remote.util.EnvHelp.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "filterAttributes"
            ldc "starts"
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 442
      StackMap locals:
      StackMap stack:
            new java.util.TreeMap
            dup
            aload 0 /* attributes */
            invokespecial java.util.TreeMap.<init>:(Ljava/util/Map;)V
            astore 1 /* map */
        start local 1 // java.util.SortedMap map
         3: .line 443
            aload 1 /* map */
            invokeinterface java.util.SortedMap.values:()Ljava/util/Collection;
            invokestatic com.sun.jmx.remote.util.EnvHelp.purgeUnserializable:(Ljava/util/Collection;)V
         4: .line 444
            aload 1 /* map */
            invokestatic com.sun.jmx.remote.util.EnvHelp.hideAttributes:(Ljava/util/SortedMap;)V
         5: .line 445
            aload 1 /* map */
            areturn
        end local 1 // java.util.SortedMap map
        end local 0 // java.util.Map attributes
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0  attributes  Ljava/util/Map<Ljava/lang/String;TV;>;
            3    6     1         map  Ljava/util/SortedMap<Ljava/lang/String;TV;>;
    Signature: <V:Ljava/lang/Object;>(Ljava/util/Map<Ljava/lang/String;TV;>;)Ljava/util/Map<Ljava/lang/String;TV;>;
    MethodParameters:
            Name  Flags
      attributes  

  private static void purgeUnserializable(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.util.Collection objects
         0: .line 453
            getstatic com.sun.jmx.remote.util.EnvHelp.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "purgeUnserializable"
            ldc "starts"
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 454
            aconst_null
            astore 1 /* oos */
        start local 1 // java.io.ObjectOutputStream oos
         2: .line 456
            aload 0 /* objects */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2 /* it */
        start local 2 // java.util.Iterator it
         3: goto 28
         4: .line 457
      StackMap locals: java.io.ObjectOutputStream java.util.Iterator
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* v */
        start local 3 // java.lang.Object v
         5: .line 459
            aload 3 /* v */
            ifnull 6
            aload 3 /* v */
            instanceof java.lang.String
            ifeq 11
         6: .line 460
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic com.sun.jmx.remote.util.EnvHelp.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            ifeq 28
         7: .line 461
            getstatic com.sun.jmx.remote.util.EnvHelp.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "purgeUnserializable"
         8: .line 462
            new java.lang.StringBuilder
            dup
            ldc "Value trivially serializable: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* v */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 461
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 464
            goto 28
        11: .line 468
      StackMap locals:
      StackMap stack:
            aload 1 /* oos */
            ifnonnull 13
        12: .line 469
            new java.io.ObjectOutputStream
            dup
            new com.sun.jmx.remote.util.EnvHelp$SinkOutputStream
            dup
            invokespecial com.sun.jmx.remote.util.EnvHelp$SinkOutputStream.<init>:()V
            invokespecial java.io.ObjectOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 1 /* oos */
        13: .line 470
      StackMap locals:
      StackMap stack:
            aload 1 /* oos */
            aload 3 /* v */
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
        14: .line 471
            getstatic com.sun.jmx.remote.util.EnvHelp.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            ifeq 28
        15: .line 472
            getstatic com.sun.jmx.remote.util.EnvHelp.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "purgeUnserializable"
        16: .line 473
            new java.lang.StringBuilder
            dup
            ldc "Value serializable: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* v */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 472
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        18: .line 475
            goto 28
      StackMap locals:
      StackMap stack: java.io.IOException
        19: astore 4 /* e */
        start local 4 // java.io.IOException e
        20: .line 476
            getstatic com.sun.jmx.remote.util.EnvHelp.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            ifeq 26
        21: .line 477
            getstatic com.sun.jmx.remote.util.EnvHelp.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "purgeUnserializable"
        22: .line 478
            new java.lang.StringBuilder
            dup
            ldc "Value not serializable: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* v */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 479
            aload 4 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        24: .line 478
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 477
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        26: .line 481
      StackMap locals: java.io.IOException
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.Iterator.remove:()V
        27: .line 482
            aconst_null
            astore 1 /* oos */
        end local 4 // java.io.IOException e
        end local 3 // java.lang.Object v
        28: .line 456
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 2 // java.util.Iterator it
        29: .line 485
            return
        end local 1 // java.io.ObjectOutputStream oos
        end local 0 // java.util.Collection objects
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   30     0  objects  Ljava/util/Collection<*>;
            2   30     1      oos  Ljava/io/ObjectOutputStream;
            3   29     2       it  Ljava/util/Iterator;
            5   28     3        v  Ljava/lang/Object;
           20   28     4        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          11    18      19  Class java.io.IOException
    Signature: (Ljava/util/Collection<*>;)V
    MethodParameters:
         Name  Flags
      objects  

  private static void hideAttributes(java.util.SortedMap<java.lang.String, ?>);
    descriptor: (Ljava/util/SortedMap;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=12, args_size=1
        start local 0 // java.util.SortedMap map
         0: .line 532
            aload 0 /* map */
            invokeinterface java.util.SortedMap.isEmpty:()Z
            ifeq 2
         1: .line 533
            return
         2: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* map */
            ldc "jmx.remote.x.hidden.attributes"
            invokeinterface java.util.SortedMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* hide */
        start local 3 // java.lang.String hide
         3: .line 539
            aload 3 /* hide */
            ifnull 11
         4: .line 540
            aload 3 /* hide */
            ldc "="
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 541
            aload 3 /* hide */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* hide */
            goto 7
         6: .line 543
      StackMap locals: java.util.SortedMap top top java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* hide */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " java.naming.security.* jmx.remote.authenticator jmx.remote.context jmx.remote.default.class.loader jmx.remote.message.connection.server jmx.remote.object.wrapping jmx.remote.rmi.client.socket.factory jmx.remote.rmi.server.socket.factory jmx.remote.sasl.callback.handler jmx.remote.tls.socket.factory jmx.remote.x.access.file jmx.remote.x.password.file "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* hide */
         7: .line 544
      StackMap locals:
      StackMap stack:
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 1 /* hiddenStrings */
        start local 1 // java.util.SortedSet hiddenStrings
         8: .line 545
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 2 /* hiddenPrefixes */
        start local 2 // java.util.SortedSet hiddenPrefixes
         9: .line 546
            aload 3 /* hide */
            aload 1 /* hiddenStrings */
            aload 2 /* hiddenPrefixes */
            invokestatic com.sun.jmx.remote.util.EnvHelp.parseHiddenAttributes:(Ljava/lang/String;Ljava/util/SortedSet;Ljava/util/SortedSet;)V
        10: .line 547
            goto 24
        end local 2 // java.util.SortedSet hiddenPrefixes
        end local 1 // java.util.SortedSet hiddenStrings
        11: .line 548
      StackMap locals:
      StackMap stack:
            ldc "java.naming.security.* jmx.remote.authenticator jmx.remote.context jmx.remote.default.class.loader jmx.remote.message.connection.server jmx.remote.object.wrapping jmx.remote.rmi.client.socket.factory jmx.remote.rmi.server.socket.factory jmx.remote.sasl.callback.handler jmx.remote.tls.socket.factory jmx.remote.x.access.file jmx.remote.x.password.file "
            astore 3 /* hide */
        12: .line 549
            getstatic com.sun.jmx.remote.util.EnvHelp.defaultHiddenStrings:Ljava/util/SortedSet;
            dup
            astore 4
            monitorenter
        13: .line 550
            getstatic com.sun.jmx.remote.util.EnvHelp.defaultHiddenStrings:Ljava/util/SortedSet;
            invokeinterface java.util.SortedSet.isEmpty:()Z
            ifeq 18
        14: .line 551
            aload 3 /* hide */
        15: .line 552
            getstatic com.sun.jmx.remote.util.EnvHelp.defaultHiddenStrings:Ljava/util/SortedSet;
        16: .line 553
            getstatic com.sun.jmx.remote.util.EnvHelp.defaultHiddenPrefixes:Ljava/util/SortedSet;
        17: .line 551
            invokestatic com.sun.jmx.remote.util.EnvHelp.parseHiddenAttributes:(Ljava/lang/String;Ljava/util/SortedSet;Ljava/util/SortedSet;)V
        18: .line 555
      StackMap locals: java.util.SortedSet
      StackMap stack:
            getstatic com.sun.jmx.remote.util.EnvHelp.defaultHiddenStrings:Ljava/util/SortedSet;
            astore 1 /* hiddenStrings */
        start local 1 // java.util.SortedSet hiddenStrings
        19: .line 556
            getstatic com.sun.jmx.remote.util.EnvHelp.defaultHiddenPrefixes:Ljava/util/SortedSet;
            astore 2 /* hiddenPrefixes */
        start local 2 // java.util.SortedSet hiddenPrefixes
        20: .line 549
            aload 4
            monitorexit
        21: goto 24
        end local 2 // java.util.SortedSet hiddenPrefixes
        end local 1 // java.util.SortedSet hiddenStrings
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: aload 4
            monitorexit
        23: athrow
        start local 1 // java.util.SortedSet hiddenStrings
        start local 2 // java.util.SortedSet hiddenPrefixes
        24: .line 564
      StackMap locals: java.util.SortedMap java.util.SortedSet java.util.SortedSet java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* map */
            invokeinterface java.util.SortedMap.lastKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "X"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* sentinelKey */
        start local 4 // java.lang.String sentinelKey
        25: .line 565
            aload 0 /* map */
            invokeinterface java.util.SortedMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5 /* keyIterator */
        start local 5 // java.util.Iterator keyIterator
        26: .line 566
            aload 1 /* hiddenStrings */
            invokeinterface java.util.SortedSet.iterator:()Ljava/util/Iterator;
            astore 6 /* stringIterator */
        start local 6 // java.util.Iterator stringIterator
        27: .line 567
            aload 2 /* hiddenPrefixes */
            invokeinterface java.util.SortedSet.iterator:()Ljava/util/Iterator;
            astore 7 /* prefixIterator */
        start local 7 // java.util.Iterator prefixIterator
        28: .line 570
            aload 6 /* stringIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 31
        29: .line 571
            aload 6 /* stringIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* nextString */
        start local 8 // java.lang.String nextString
        30: goto 32
        end local 8 // java.lang.String nextString
        31: .line 573
      StackMap locals: java.util.SortedMap java.util.SortedSet java.util.SortedSet java.lang.String java.lang.String java.util.Iterator java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 4 /* sentinelKey */
            astore 8 /* nextString */
        start local 8 // java.lang.String nextString
        32: .line 575
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* prefixIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 35
        33: .line 576
            aload 7 /* prefixIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* nextPrefix */
        start local 9 // java.lang.String nextPrefix
        34: goto 54
        end local 9 // java.lang.String nextPrefix
        35: .line 578
      StackMap locals:
      StackMap stack:
            aload 4 /* sentinelKey */
            astore 9 /* nextPrefix */
        start local 9 // java.lang.String nextPrefix
        36: .line 583
            goto 54
        37: .line 584
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* keyIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* key */
        start local 10 // java.lang.String key
        38: .line 589
            iconst_1
            istore 11 /* cmp */
        start local 11 // int cmp
        39: .line 590
            goto 43
        40: .line 591
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 6 /* stringIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 42
        41: .line 592
            aload 6 /* stringIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* nextString */
            goto 43
        42: .line 594
      StackMap locals:
      StackMap stack:
            aload 4 /* sentinelKey */
            astore 8 /* nextString */
        43: .line 590
      StackMap locals:
      StackMap stack:
            aload 8 /* nextString */
            aload 10 /* key */
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            dup
            istore 11 /* cmp */
            iflt 40
        44: .line 596
            iload 11 /* cmp */
            ifne 53
        45: .line 597
            aload 5 /* keyIterator */
            invokeinterface java.util.Iterator.remove:()V
        46: .line 598
            goto 54
        47: .line 605
      StackMap locals:
      StackMap stack:
            aload 10 /* key */
            aload 9 /* nextPrefix */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 50
        48: .line 606
            aload 5 /* keyIterator */
            invokeinterface java.util.Iterator.remove:()V
        49: .line 607
            goto 54
        50: .line 609
      StackMap locals:
      StackMap stack:
            aload 7 /* prefixIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 52
        51: .line 610
            aload 7 /* prefixIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* nextPrefix */
            goto 53
        52: .line 612
      StackMap locals:
      StackMap stack:
            aload 4 /* sentinelKey */
            astore 9 /* nextPrefix */
        53: .line 604
      StackMap locals:
      StackMap stack:
            aload 9 /* nextPrefix */
            aload 10 /* key */
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ifle 47
        end local 11 // int cmp
        end local 10 // java.lang.String key
        54: .line 583
      StackMap locals:
      StackMap stack:
            aload 5 /* keyIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 37
        55: .line 615
            return
        end local 9 // java.lang.String nextPrefix
        end local 8 // java.lang.String nextString
        end local 7 // java.util.Iterator prefixIterator
        end local 6 // java.util.Iterator stringIterator
        end local 5 // java.util.Iterator keyIterator
        end local 4 // java.lang.String sentinelKey
        end local 3 // java.lang.String hide
        end local 2 // java.util.SortedSet hiddenPrefixes
        end local 1 // java.util.SortedSet hiddenStrings
        end local 0 // java.util.SortedMap map
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   56     0             map  Ljava/util/SortedMap<Ljava/lang/String;*>;
            8   11     1   hiddenStrings  Ljava/util/SortedSet<Ljava/lang/String;>;
           19   22     1   hiddenStrings  Ljava/util/SortedSet<Ljava/lang/String;>;
           24   56     1   hiddenStrings  Ljava/util/SortedSet<Ljava/lang/String;>;
            9   11     2  hiddenPrefixes  Ljava/util/SortedSet<Ljava/lang/String;>;
           20   22     2  hiddenPrefixes  Ljava/util/SortedSet<Ljava/lang/String;>;
           24   56     2  hiddenPrefixes  Ljava/util/SortedSet<Ljava/lang/String;>;
            3   56     3            hide  Ljava/lang/String;
           25   56     4     sentinelKey  Ljava/lang/String;
           26   56     5     keyIterator  Ljava/util/Iterator;
           27   56     6  stringIterator  Ljava/util/Iterator;
           28   56     7  prefixIterator  Ljava/util/Iterator;
           30   31     8      nextString  Ljava/lang/String;
           32   56     8      nextString  Ljava/lang/String;
           34   35     9      nextPrefix  Ljava/lang/String;
           36   56     9      nextPrefix  Ljava/lang/String;
           38   54    10             key  Ljava/lang/String;
           39   54    11             cmp  I
      Exception table:
        from    to  target  type
          13    21      22  any
          22    23      22  any
    Signature: (Ljava/util/SortedMap<Ljava/lang/String;*>;)V
    MethodParameters:
      Name  Flags
      map   

  private static void parseHiddenAttributes(java.lang.String, java.util.SortedSet<java.lang.String>, java.util.SortedSet<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/SortedSet;Ljava/util/SortedSet;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.lang.String hide
        start local 1 // java.util.SortedSet hiddenStrings
        start local 2 // java.util.SortedSet hiddenPrefixes
         0: .line 620
            new java.util.StringTokenizer
            dup
            aload 0 /* hide */
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
            astore 3 /* tok */
        start local 3 // java.util.StringTokenizer tok
         1: .line 621
            goto 6
         2: .line 622
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            aload 3 /* tok */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 4 /* s */
        start local 4 // java.lang.String s
         3: .line 623
            aload 4 /* s */
            ldc "*"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 624
            aload 2 /* hiddenPrefixes */
            aload 4 /* s */
            iconst_0
            aload 4 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokeinterface java.util.SortedSet.add:(Ljava/lang/Object;)Z
            pop
            goto 6
         5: .line 626
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* hiddenStrings */
            aload 4 /* s */
            invokeinterface java.util.SortedSet.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String s
         6: .line 621
      StackMap locals:
      StackMap stack:
            aload 3 /* tok */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 2
         7: .line 628
            return
        end local 3 // java.util.StringTokenizer tok
        end local 2 // java.util.SortedSet hiddenPrefixes
        end local 1 // java.util.SortedSet hiddenStrings
        end local 0 // java.lang.String hide
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            hide  Ljava/lang/String;
            0    8     1   hiddenStrings  Ljava/util/SortedSet<Ljava/lang/String;>;
            0    8     2  hiddenPrefixes  Ljava/util/SortedSet<Ljava/lang/String;>;
            1    8     3             tok  Ljava/util/StringTokenizer;
            3    6     4               s  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/util/SortedSet<Ljava/lang/String;>;Ljava/util/SortedSet<Ljava/lang/String;>;)V
    MethodParameters:
                Name  Flags
      hide            
      hiddenStrings   
      hiddenPrefixes  

  public static long getServerConnectionTimeout(java.util.Map);
    descriptor: (Ljava/util/Map;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // java.util.Map env
         0: .line 642
            aload 0 /* env */
            ldc "jmx.remote.x.server.connection.timeout"
            ldc 120000
         1: .line 643
            lconst_0
            ldc 9223372036854775807
         2: .line 642
            invokestatic com.sun.jmx.remote.util.EnvHelp.getIntegerAttribute:(Ljava/util/Map;Ljava/lang/String;JJJ)J
            lreturn
        end local 0 // java.util.Map env
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   env  Ljava/util/Map;
    MethodParameters:
      Name  Flags
      env   

  public static long getConnectionCheckPeriod(java.util.Map);
    descriptor: (Ljava/util/Map;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // java.util.Map env
         0: .line 658
            aload 0 /* env */
            ldc "jmx.remote.x.client.connection.check.period"
            ldc 60000
         1: .line 659
            lconst_0
            ldc 9223372036854775807
         2: .line 658
            invokestatic com.sun.jmx.remote.util.EnvHelp.getIntegerAttribute:(Ljava/util/Map;Ljava/lang/String;JJJ)J
            lreturn
        end local 0 // java.util.Map env
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   env  Ljava/util/Map;
    MethodParameters:
      Name  Flags
      env   

  public static boolean computeBooleanFromString(java.util.Map, java.lang.String);
    descriptor: (Ljava/util/Map;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.util.Map env
        start local 1 // java.lang.String prop
         0: .line 692
            aload 0 /* env */
            ifnonnull 2
         1: .line 693
            new java.lang.IllegalArgumentException
            dup
            ldc "env map cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 695
      StackMap locals:
      StackMap stack:
            aload 0 /* env */
            aload 1 /* prop */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* stringBoolean */
        start local 2 // java.lang.String stringBoolean
         3: .line 697
            aload 2 /* stringBoolean */
            ifnonnull 5
         4: .line 698
            iconst_0
            ireturn
         5: .line 699
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* stringBoolean */
            ldc "true"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 700
            iconst_1
            ireturn
         7: .line 701
      StackMap locals:
      StackMap stack:
            aload 2 /* stringBoolean */
            ldc "false"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 9
         8: .line 702
            iconst_0
            ireturn
         9: .line 704
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* prop */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 705
            ldc " must be \"true\" or \"false\" instead of \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 706
            aload 2 /* stringBoolean */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 704
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String stringBoolean
        end local 1 // java.lang.String prop
        end local 0 // java.util.Map env
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0            env  Ljava/util/Map;
            0   13     1           prop  Ljava/lang/String;
            3   13     2  stringBoolean  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.ClassCastException
    MethodParameters:
      Name  Flags
      env   
      prop  

  public static <K, V> java.util.Hashtable<K, V> mapToHashtable(java.util.Map<K, V>);
    descriptor: (Ljava/util/Map;)Ljava/util/Hashtable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.util.Map map
         0: .line 714
            new java.util.HashMap
            dup
            aload 0 /* map */
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            astore 1 /* m */
        start local 1 // java.util.HashMap m
         1: .line 715
            aload 1 /* m */
            aconst_null
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 2
            aload 1 /* m */
            aconst_null
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 716
      StackMap locals: java.util.HashMap
      StackMap stack:
            aload 1 /* m */
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
         3: goto 5
         4: .line 717
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            ifnonnull 5
            aload 2 /* i */
            invokeinterface java.util.Iterator.remove:()V
         5: .line 716
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 2 // java.util.Iterator i
         6: .line 718
            new java.util.Hashtable
            dup
            aload 1 /* m */
            invokespecial java.util.Hashtable.<init>:(Ljava/util/Map;)V
            areturn
        end local 1 // java.util.HashMap m
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   map  Ljava/util/Map<TK;TV;>;
            1    7     1     m  Ljava/util/HashMap<TK;TV;>;
            3    6     2     i  Ljava/util/Iterator;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/Map<TK;TV;>;)Ljava/util/Hashtable<TK;TV;>;
    MethodParameters:
      Name  Flags
      map   
}
SourceFile: "EnvHelp.java"
NestMembers:
  com.sun.jmx.remote.util.EnvHelp$SinkOutputStream
InnerClasses:
  private final SinkOutputStream = com.sun.jmx.remote.util.EnvHelp$SinkOutputStream of com.sun.jmx.remote.util.EnvHelp