public class org.eclipse.jdt.internal.launching.MacInstalledJREs
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.launching.MacInstalledJREs
  super_class: java.lang.Object
{
  private static final java.lang.String JAVA_HOME_PLIST;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "/usr/libexec/java_home"

  private static final java.lang.String PLIST_JVM_HOME_PATH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JVMHomePath"

  private static final java.lang.String PLIST_JVM_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JVMName"

  private static final java.lang.String PLIST_JVM_VERSION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JVMVersion"

  private static final java.lang.String PLIST_JVM_BUNDLE_ID;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JVMBundleID"

  public static final org.eclipse.jdt.launching.VMStandin[] NO_VMS;
    descriptor: [Lorg/eclipse/jdt/launching/VMStandin;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 58
            iconst_0
            anewarray org.eclipse.jdt.launching.VMStandin
            putstatic org.eclipse.jdt.internal.launching.MacInstalledJREs.NO_VMS:[Lorg/eclipse/jdt/launching/VMStandin;
            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 // org.eclipse.jdt.internal.launching.MacInstalledJREs this
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.jdt.internal.launching.MacInstalledJREs this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/launching/MacInstalledJREs;

  public static org.eclipse.jdt.launching.VMStandin[] getInstalledJREs(org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/jdt/launching/VMStandin;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=10, args_size=1
        start local 0 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 90
            aload 0 /* monitor */
            invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/core/runtime/SubMonitor;
            astore 1 /* smonitor */
        start local 1 // org.eclipse.core.runtime.SubMonitor smonitor
         1: .line 93
            new java.io.File
            dup
            ldc "/usr/libexec/java_home"
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* java_home */
        start local 2 // java.io.File java_home
         2: .line 94
            aload 2 /* java_home */
            invokevirtual java.io.File.exists:()Z
            ifne 4
         3: .line 95
            new org.eclipse.core.runtime.CoreException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_2
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            ldc "The java_home executable does not exist"
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
         4: .line 97
      StackMap locals: org.eclipse.core.runtime.SubMonitor java.io.File
      StackMap stack:
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "/usr/libexec/java_home"
            aastore
            dup
            iconst_1
            ldc "-X"
            aastore
            astore 3 /* cmdLine */
        start local 3 // java.lang.String[] cmdLine
         5: .line 98
            aconst_null
            astore 4 /* p */
        start local 4 // java.lang.Process p
         6: .line 100
            aload 3 /* cmdLine */
            aconst_null
            invokestatic org.eclipse.debug.core.DebugPlugin.exec:([Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;
            astore 4 /* p */
         7: .line 101
            new org.eclipse.debug.core.Launch
            dup
            aconst_null
            ldc "run"
            aconst_null
            invokespecial org.eclipse.debug.core.Launch.<init>:(Lorg/eclipse/debug/core/ILaunchConfiguration;Ljava/lang/String;Lorg/eclipse/debug/core/model/ISourceLocator;)V
            aload 4 /* p */
            ldc "JRE Install Detection"
            invokestatic org.eclipse.debug.core.DebugPlugin.newProcess:(Lorg/eclipse/debug/core/ILaunch;Ljava/lang/Process;Ljava/lang/String;)Lorg/eclipse/debug/core/model/IProcess;
            astore 5 /* process */
        start local 5 // org.eclipse.debug.core.model.IProcess process
         8: .line 102
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 16
        10: .line 104
      StackMap locals: org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor java.io.File java.lang.String[] java.lang.Process org.eclipse.debug.core.model.IProcess int
      StackMap stack:
            aload 5 /* process */
            invokeinterface org.eclipse.debug.core.model.IProcess.isTerminated:()Z
            ifeq 12
        11: .line 105
            goto 17
        12: .line 108
      StackMap locals:
      StackMap stack:
            ldc 50
            invokestatic java.lang.Thread.sleep:(J)V
        13: .line 109
            goto 15
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        14: pop
        15: .line 102
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* i */
            sipush 600
            if_icmplt 10
        end local 6 // int i
        17: .line 113
      StackMap locals:
      StackMap stack:
            aload 5 /* process */
            aload 0 /* monitor */
            invokestatic org.eclipse.jdt.internal.launching.MacInstalledJREs.parseJREInfo:(Lorg/eclipse/debug/core/model/IProcess;Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/jdt/launching/VMStandin;
            astore 8
        18: .line 115
            aload 4 /* p */
            ifnull 20
        19: .line 116
            aload 4 /* p */
            invokevirtual java.lang.Process.destroy:()V
        20: .line 121
      StackMap locals: org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor java.io.File java.lang.String[] java.lang.Process org.eclipse.debug.core.model.IProcess top top org.eclipse.jdt.launching.VMStandin[]
      StackMap stack:
            aload 1 /* smonitor */
            invokevirtual org.eclipse.core.runtime.SubMonitor.isCanceled:()Z
            ifne 22
        21: .line 122
            aload 1 /* smonitor */
            invokevirtual org.eclipse.core.runtime.SubMonitor.done:()V
        22: .line 113
      StackMap locals:
      StackMap stack:
            aload 8
            areturn
        end local 5 // org.eclipse.debug.core.model.IProcess process
        23: .line 114
      StackMap locals: org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor java.io.File java.lang.String[] java.lang.Process
      StackMap stack: java.lang.Throwable
            astore 7
        24: .line 115
            aload 4 /* p */
            ifnull 26
        25: .line 116
            aload 4 /* p */
            invokevirtual java.lang.Process.destroy:()V
        26: .line 118
      StackMap locals: org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor java.io.File java.lang.String[] java.lang.Process top top java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        end local 4 // java.lang.Process p
        end local 3 // java.lang.String[] cmdLine
        end local 2 // java.io.File java_home
        27: .line 120
      StackMap locals: org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor
      StackMap stack: java.lang.Throwable
            astore 9
        28: .line 121
            aload 1 /* smonitor */
            invokevirtual org.eclipse.core.runtime.SubMonitor.isCanceled:()Z
            ifne 30
        29: .line 122
            aload 1 /* smonitor */
            invokevirtual org.eclipse.core.runtime.SubMonitor.done:()V
        30: .line 124
      StackMap locals: org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 9
            athrow
        end local 1 // org.eclipse.core.runtime.SubMonitor smonitor
        end local 0 // org.eclipse.core.runtime.IProgressMonitor monitor
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   31     0    monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1   31     1   smonitor  Lorg/eclipse/core/runtime/SubMonitor;
            2   27     2  java_home  Ljava/io/File;
            5   27     3    cmdLine  [Ljava/lang/String;
            6   27     4          p  Ljava/lang/Process;
            8   23     5    process  Lorg/eclipse/debug/core/model/IProcess;
            9   17     6          i  I
      Exception table:
        from    to  target  type
          12    13      14  Class java.lang.InterruptedException
           6    18      23  any
           1    20      27  any
          23    27      27  any
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      monitor  

  private static org.eclipse.jdt.launching.VMStandin[] parseJREInfo(org.eclipse.debug.core.model.IProcess, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/debug/core/model/IProcess;Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/jdt/launching/VMStandin;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.debug.core.model.IProcess process
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 136
            aload 0 /* process */
            invokeinterface org.eclipse.debug.core.model.IProcess.getStreamsProxy:()Lorg/eclipse/debug/core/model/IStreamsProxy;
            astore 2 /* streamsProxy */
        start local 2 // org.eclipse.debug.core.model.IStreamsProxy streamsProxy
         1: .line 137
            aconst_null
            astore 3 /* text */
        start local 3 // java.lang.String text
         2: .line 138
            aload 2 /* streamsProxy */
            ifnull 4
         3: .line 139
            aload 2 /* streamsProxy */
            invokeinterface org.eclipse.debug.core.model.IStreamsProxy.getOutputStreamMonitor:()Lorg/eclipse/debug/core/model/IStreamMonitor;
            invokeinterface org.eclipse.debug.core.model.IStreamMonitor.getContents:()Ljava/lang/String;
            astore 3 /* text */
         4: .line 141
      StackMap locals: org.eclipse.debug.core.model.IStreamsProxy java.lang.String
      StackMap stack:
            aload 3 /* text */
            ifnull 7
            aload 3 /* text */
            invokevirtual java.lang.String.length:()I
            ifle 7
         5: .line 142
            new java.io.ByteArrayInputStream
            dup
            aload 3 /* text */
            invokevirtual java.lang.String.getBytes:()[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 4 /* stream */
        start local 4 // java.io.ByteArrayInputStream stream
         6: .line 143
            aload 4 /* stream */
            aload 1 /* monitor */
            invokestatic org.eclipse.jdt.internal.launching.MacInstalledJREs.parseJREInfo:(Ljava/io/InputStream;Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/jdt/launching/VMStandin;
            areturn
        end local 4 // java.io.ByteArrayInputStream stream
         7: .line 145
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.launching.MacInstalledJREs.NO_VMS:[Lorg/eclipse/jdt/launching/VMStandin;
            areturn
        end local 3 // java.lang.String text
        end local 2 // org.eclipse.debug.core.model.IStreamsProxy streamsProxy
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // org.eclipse.debug.core.model.IProcess process
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0       process  Lorg/eclipse/debug/core/model/IProcess;
            0    8     1       monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1    8     2  streamsProxy  Lorg/eclipse/debug/core/model/IStreamsProxy;
            2    8     3          text  Ljava/lang/String;
            6    7     4        stream  Ljava/io/ByteArrayInputStream;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      process  
      monitor  

  public static org.eclipse.jdt.launching.VMStandin[] parseJREInfo(java.io.InputStream, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/io/InputStream;Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/jdt/launching/VMStandin;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=19, args_size=2
        start local 0 // java.io.InputStream stream
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 158
            aload 1 /* monitor */
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.MacInstalledJREs_0:Ljava/lang/String;
            bipush 10
            invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;Ljava/lang/String;I)Lorg/eclipse/core/runtime/SubMonitor;
            astore 2 /* smonitor */
        start local 2 // org.eclipse.core.runtime.SubMonitor smonitor
         1: .line 160
            new org.eclipse.jdt.internal.launching.PListParser
            dup
            invokespecial org.eclipse.jdt.internal.launching.PListParser.<init>:()V
            aload 0 /* stream */
            invokevirtual org.eclipse.jdt.internal.launching.PListParser.parse:(Ljava/io/InputStream;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         2: .line 161
            aload 3 /* result */
            instanceof java.lang.Object[]
            ifeq 44
         3: .line 162
            aload 3 /* result */
            checkcast java.lang.Object[]
            astore 4 /* maps */
        start local 4 // java.lang.Object[] maps
         4: .line 163
            aload 2 /* smonitor */
            aload 4 /* maps */
            arraylength
            invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
            pop
         5: .line 164
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* jres */
        start local 5 // java.util.List jres
         6: .line 165
            ldc "org.eclipse.jdt.internal.launching.macosx.MacOSXType"
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getVMInstallType:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/IVMInstallType;
            checkcast org.eclipse.jdt.launching.AbstractVMInstallType
            astore 6 /* mactype */
        start local 6 // org.eclipse.jdt.launching.AbstractVMInstallType mactype
         7: .line 166
            aload 6 /* mactype */
            ifnull 35
         8: .line 167
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         9: goto 34
        10: .line 168
      StackMap locals: java.io.InputStream org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor java.lang.Object java.lang.Object[] java.util.List org.eclipse.jdt.launching.AbstractVMInstallType int
      StackMap stack:
            aload 2 /* smonitor */
            invokevirtual org.eclipse.core.runtime.SubMonitor.isCanceled:()Z
            ifeq 14
        11: .line 170
            aload 5 /* jres */
            aload 5 /* jres */
            invokeinterface java.util.List.size:()I
            anewarray org.eclipse.jdt.launching.VMStandin
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.VMStandin[]
            astore 18
        12: .line 204
            aload 2 /* smonitor */
            invokevirtual org.eclipse.core.runtime.SubMonitor.done:()V
        13: .line 170
            aload 18
            areturn
        14: .line 172
      StackMap locals:
      StackMap stack:
            aload 4 /* maps */
            iload 7 /* i */
            aaload
            astore 8 /* object */
        start local 8 // java.lang.Object object
        15: .line 173
            aload 8 /* object */
            instanceof java.util.Map
            ifeq 32
        16: .line 174
            aload 8 /* object */
            checkcast java.util.Map
            astore 9 /* map */
        start local 9 // java.util.Map map
        17: .line 175
            aload 9 /* map */
            ldc "JVMHomePath"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 10 /* home */
        start local 10 // java.lang.Object home
        18: .line 176
            aload 9 /* map */
            ldc "JVMName"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 11 /* name */
        start local 11 // java.lang.Object name
        19: .line 177
            aload 9 /* map */
            ldc "JVMVersion"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 12 /* version */
        start local 12 // java.lang.Object version
        20: .line 178
            aload 10 /* home */
            instanceof java.lang.String
            ifeq 32
            aload 11 /* name */
            instanceof java.lang.String
            ifeq 32
            aload 12 /* version */
            instanceof java.lang.String
            ifeq 32
        21: .line 179
            aload 2 /* smonitor */
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.MacInstalledJREs_1:Ljava/lang/String;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 11 /* name */
            checkcast java.lang.String
            aastore
            dup
            iconst_1
            aload 12 /* version */
            checkcast java.lang.String
            aastore
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.eclipse.core.runtime.SubMonitor.setTaskName:(Ljava/lang/String;)V
        22: .line 180
            aload 12 /* version */
            checkcast java.lang.String
            astore 13 /* ver */
        start local 13 // java.lang.String ver
        23: .line 181
            new java.io.File
            dup
            aload 10 /* home */
            checkcast java.lang.String
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 14 /* loc */
        start local 14 // java.io.File loc
        24: .line 184
            new java.lang.StringBuilder
            dup
            aload 11 /* name */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 15 /* namebuff */
        start local 15 // java.lang.StringBuilder namebuff
        25: .line 185
            aload 15 /* namebuff */
            ldc " ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 13 /* ver */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 186
            new org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin
            dup
            aload 6 /* mactype */
            aload 14 /* loc */
            aload 15 /* namebuff */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 13 /* ver */
            aload 9 /* map */
            aload 13 /* ver */
            invokestatic org.eclipse.jdt.internal.launching.MacInstalledJREs.computeId:(Ljava/util/Map;Ljava/lang/String;)Ljava/lang/String;
            invokespecial org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin.<init>:(Lorg/eclipse/jdt/launching/IVMInstallType;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            astore 16 /* vm */
        start local 16 // org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin vm
        27: .line 187
            aload 16 /* vm */
            aload 6 /* mactype */
            aload 14 /* loc */
            invokevirtual org.eclipse.jdt.launching.AbstractVMInstallType.getDefaultJavadocLocation:(Ljava/io/File;)Ljava/net/URL;
            invokevirtual org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin.setJavadocLocation:(Ljava/net/URL;)V
        28: .line 188
            aload 16 /* vm */
            aload 6 /* mactype */
            aload 14 /* loc */
            invokevirtual org.eclipse.jdt.launching.AbstractVMInstallType.getDefaultLibraryLocations:(Ljava/io/File;)[Lorg/eclipse/jdt/launching/LibraryLocation;
            invokevirtual org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin.setLibraryLocations:([Lorg/eclipse/jdt/launching/LibraryLocation;)V
        29: .line 189
            aload 16 /* vm */
            aload 6 /* mactype */
            aload 14 /* loc */
            invokevirtual org.eclipse.jdt.launching.AbstractVMInstallType.getDefaultVMArguments:(Ljava/io/File;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin.setVMArgs:(Ljava/lang/String;)V
        30: .line 190
            aload 5 /* jres */
            aload 16 /* vm */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 32
        31: .line 191
            aload 5 /* jres */
            aload 16 /* vm */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 16 // org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin vm
        end local 15 // java.lang.StringBuilder namebuff
        end local 14 // java.io.File loc
        end local 13 // java.lang.String ver
        end local 12 // java.lang.Object version
        end local 11 // java.lang.Object name
        end local 10 // java.lang.Object home
        end local 9 // java.util.Map map
        32: .line 195
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* smonitor */
            iconst_1
            invokevirtual org.eclipse.core.runtime.SubMonitor.worked:(I)V
        end local 8 // java.lang.Object object
        33: .line 167
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 7 /* i */
            aload 4 /* maps */
            arraylength
            if_icmplt 10
        end local 7 // int i
        35: .line 198
      StackMap locals:
      StackMap stack:
            aload 5 /* jres */
            aload 5 /* jres */
            invokeinterface java.util.List.size:()I
            anewarray org.eclipse.jdt.launching.VMStandin
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.VMStandin[]
            astore 18
        36: .line 204
            aload 2 /* smonitor */
            invokevirtual org.eclipse.core.runtime.SubMonitor.done:()V
        37: .line 198
            aload 18
            areturn
        end local 6 // org.eclipse.jdt.launching.AbstractVMInstallType mactype
        end local 5 // java.util.List jres
        end local 4 // java.lang.Object[] maps
        end local 3 // java.lang.Object result
        38: .line 200
      StackMap locals: java.io.InputStream org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor
      StackMap stack: org.eclipse.core.runtime.CoreException
            astore 3 /* ce */
        start local 3 // org.eclipse.core.runtime.CoreException ce
        39: .line 201
            aload 3 /* ce */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 3 // org.eclipse.core.runtime.CoreException ce
        40: .line 204
            aload 2 /* smonitor */
            invokevirtual org.eclipse.core.runtime.SubMonitor.done:()V
            goto 45
        41: .line 203
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 17
        42: .line 204
            aload 2 /* smonitor */
            invokevirtual org.eclipse.core.runtime.SubMonitor.done:()V
        43: .line 205
            aload 17
            athrow
        44: .line 204
      StackMap locals:
      StackMap stack:
            aload 2 /* smonitor */
            invokevirtual org.eclipse.core.runtime.SubMonitor.done:()V
        45: .line 206
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.launching.MacInstalledJREs.NO_VMS:[Lorg/eclipse/jdt/launching/VMStandin;
            areturn
        end local 2 // org.eclipse.core.runtime.SubMonitor smonitor
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // java.io.InputStream stream
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   46     0    stream  Ljava/io/InputStream;
            0   46     1   monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1   46     2  smonitor  Lorg/eclipse/core/runtime/SubMonitor;
            2   38     3    result  Ljava/lang/Object;
            4   38     4      maps  [Ljava/lang/Object;
            6   38     5      jres  Ljava/util/List<Lorg/eclipse/jdt/launching/VMStandin;>;
            7   38     6   mactype  Lorg/eclipse/jdt/launching/AbstractVMInstallType;
            9   35     7         i  I
           15   33     8    object  Ljava/lang/Object;
           17   32     9       map  Ljava/util/Map<**>;
           18   32    10      home  Ljava/lang/Object;
           19   32    11      name  Ljava/lang/Object;
           20   32    12   version  Ljava/lang/Object;
           23   32    13       ver  Ljava/lang/String;
           24   32    14       loc  Ljava/io/File;
           25   32    15  namebuff  Ljava/lang/StringBuilder;
           27   32    16        vm  Lorg/eclipse/jdt/internal/launching/MacInstalledJREs$MacVMStandin;
           39   40     3        ce  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
           1    12      38  Class org.eclipse.core.runtime.CoreException
          14    36      38  Class org.eclipse.core.runtime.CoreException
           1    12      41  any
          14    36      41  any
          38    40      41  any
    MethodParameters:
         Name  Flags
      stream   
      monitor  

  static java.lang.String computeId(java.util.Map<?, ?>, java.lang.String);
    descriptor: (Ljava/util/Map;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.Map map
        start local 1 // java.lang.String version
         0: .line 218
            aload 0 /* map */
            ldc "JVMBundleID"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* o */
        start local 2 // java.lang.Object o
         1: .line 219
            aload 2 /* o */
            instanceof java.lang.String
            ifeq 3
         2: .line 220
            aload 2 /* o */
            checkcast java.lang.String
            areturn
         3: .line 222
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* version */
            areturn
        end local 2 // java.lang.Object o
        end local 1 // java.lang.String version
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0      map  Ljava/util/Map<**>;
            0    4     1  version  Ljava/lang/String;
            1    4     2        o  Ljava/lang/Object;
    Signature: (Ljava/util/Map<**>;Ljava/lang/String;)Ljava/lang/String;
    MethodParameters:
         Name  Flags
      map      
      version  
}
SourceFile: "MacInstalledJREs.java"
NestMembers:
  org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin
InnerClasses:
  public MacVMStandin = org.eclipse.jdt.internal.launching.MacInstalledJREs$MacVMStandin of org.eclipse.jdt.internal.launching.MacInstalledJREs