public class org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer implements org.eclipse.jdt.launching.environments.IExecutionEnvironmentAnalyzerDelegate
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer
  super_class: java.lang.Object
{
  private static final java.lang.String JavaSE_13;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JavaSE-13"

  private static final java.lang.String JavaSE_12;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JavaSE-12"

  private static final java.lang.String JavaSE_11;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JavaSE-11"

  private static final java.lang.String JavaSE_10_Plus;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JavaSE-10+"

  private static final java.lang.String JavaSE_10;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JavaSE-10"

  static final java.lang.String JavaSE_9;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "JavaSE-9"

  private static final java.lang.String JavaSE_1_8;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JavaSE-1.8"

  private static final java.lang.String JavaSE_1_7;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JavaSE-1.7"

  private static final java.lang.String JavaSE_1_6;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JavaSE-1.6"

  private static final java.lang.String J2SE_1_5;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "J2SE-1.5"

  private static final java.lang.String J2SE_1_4;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "J2SE-1.4"

  private static final java.lang.String J2SE_1_3;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "J2SE-1.3"

  private static final java.lang.String J2SE_1_2;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "J2SE-1.2"

  private static final java.lang.String JRE_1_1;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JRE-1.1"

  private static final java.lang.String CDC_FOUNDATION_1_1;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "CDC-1.1/Foundation-1.1"

  private static final java.lang.String CDC_FOUNDATION_1_0;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "CDC-1.0/Foundation-1.0"

  private static final java.lang.String OSGI_MINIMUM_1_0;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "OSGi/Minimum-1.0"

  private static final java.lang.String OSGI_MINIMUM_1_1;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "OSGi/Minimum-1.1"

  private static final java.lang.String OSGI_MINIMUM_1_2;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "OSGi/Minimum-1.2"

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

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

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

  private static final java.lang.String[] VM_PROPERTIES;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 71
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "java.specification.name"
            aastore
            dup
            iconst_1
            ldc "java.specification.version"
            aastore
            dup
            iconst_2
            ldc "java.version"
            aastore
            putstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.VM_PROPERTIES:[Ljava/lang/String;
         1: .line 73
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
         2: .line 77
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "CDC-1.0/Foundation-1.0"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "OSGi/Minimum-1.0"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 78
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "CDC-1.1/Foundation-1.1"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "CDC-1.0/Foundation-1.0"
            aastore
            dup
            iconst_1
            ldc "OSGi/Minimum-1.2"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 79
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "OSGi/Minimum-1.1"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "OSGi/Minimum-1.0"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 80
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "OSGi/Minimum-1.2"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "OSGi/Minimum-1.1"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 81
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "J2SE-1.2"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "JRE-1.1"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 82
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "J2SE-1.3"
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "J2SE-1.2"
            aastore
            dup
            iconst_1
            ldc "CDC-1.0/Foundation-1.0"
            aastore
            dup
            iconst_2
            ldc "OSGi/Minimum-1.0"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 83
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "J2SE-1.4"
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "J2SE-1.3"
            aastore
            dup
            iconst_1
            ldc "CDC-1.1/Foundation-1.1"
            aastore
            dup
            iconst_2
            ldc "OSGi/Minimum-1.2"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 84
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "J2SE-1.5"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "J2SE-1.4"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 85
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "JavaSE-1.6"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "J2SE-1.5"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 86
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "JavaSE-1.7"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "JavaSE-1.6"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 87
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "JavaSE-1.8"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "JavaSE-1.7"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 88
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "JavaSE-9"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "JavaSE-1.8"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 89
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "JavaSE-10"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "JavaSE-9"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 90
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "JavaSE-10+"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "JavaSE-13"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 91
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "JavaSE-11"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "JavaSE-10"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 92
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "JavaSE-12"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "JavaSE-11"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 93
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            ldc "JavaSE-13"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "JavaSE-12"
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 94
            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.environments.ExecutionEnvironmentAnalyzer this
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/launching/environments/ExecutionEnvironmentAnalyzer;

  public org.eclipse.jdt.launching.environments.CompatibleEnvironment[] analyze(org.eclipse.jdt.launching.IVMInstall, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall;Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/jdt/launching/environments/CompatibleEnvironment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer this
        start local 1 // org.eclipse.jdt.launching.IVMInstall vm
        start local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 97
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.ArrayList result
         1: .line 98
            aload 1 /* vm */
            instanceof org.eclipse.jdt.launching.IVMInstall2
            ifne 3
         2: .line 99
            iconst_0
            anewarray org.eclipse.jdt.launching.environments.CompatibleEnvironment
            areturn
         3: .line 101
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 1 /* vm */
            checkcast org.eclipse.jdt.launching.IVMInstall2
            astore 4 /* vm2 */
        start local 4 // org.eclipse.jdt.launching.IVMInstall2 vm2
         4: .line 102
            aconst_null
            astore 5 /* types */
        start local 5 // java.util.List types
         5: .line 103
            ldc "org.eclipse.jdt.launching.EEVMType"
            aload 1 /* vm */
            invokeinterface org.eclipse.jdt.launching.IVMInstall.getVMInstallType:()Lorg/eclipse/jdt/launching/IVMInstallType;
            invokeinterface org.eclipse.jdt.launching.IVMInstallType.getId:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         6: .line 104
            aload 1 /* vm */
            checkcast org.eclipse.jdt.internal.launching.EEVMInstall
            ldc "ATTR_EXECUTION_ENVIRONMENT_ID"
            invokevirtual org.eclipse.jdt.internal.launching.EEVMInstall.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* eeId */
        start local 6 // java.lang.String eeId
         7: .line 105
            aload 6 /* eeId */
            ifnull 9
         8: .line 106
            aload 0 /* this */
            aload 6 /* eeId */
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        end local 6 // java.lang.String eeId
         9: .line 109
      StackMap locals: org.eclipse.jdt.launching.IVMInstall2 java.util.List
      StackMap stack:
            aload 5 /* types */
            ifnonnull 66
        10: .line 110
            aload 4 /* vm2 */
            invokeinterface org.eclipse.jdt.launching.IVMInstall2.getJavaVersion:()Ljava/lang/String;
            astore 6 /* javaVersion */
        start local 6 // java.lang.String javaVersion
        11: .line 111
            aload 6 /* javaVersion */
            ifnonnull 18
        12: .line 113
            aload 1 /* vm */
            instanceof org.eclipse.jdt.launching.IVMInstall3
            ifeq 15
            aload 0 /* this */
            aload 1 /* vm */
            checkcast org.eclipse.jdt.launching.IVMInstall3
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.isFoundation1_0:(Lorg/eclipse/jdt/launching/IVMInstall3;)Z
            ifeq 15
        13: .line 114
            aload 0 /* this */
            ldc "CDC-1.0/Foundation-1.0"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        14: .line 115
            goto 66
      StackMap locals: java.lang.String
      StackMap stack:
        15: aload 1 /* vm */
            instanceof org.eclipse.jdt.launching.IVMInstall3
            ifeq 66
            aload 0 /* this */
            aload 1 /* vm */
            checkcast org.eclipse.jdt.launching.IVMInstall3
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.isFoundation1_1:(Lorg/eclipse/jdt/launching/IVMInstall3;)Z
            ifeq 66
        16: .line 116
            aload 0 /* this */
            ldc "CDC-1.1/Foundation-1.1"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        17: .line 118
            goto 66
        18: .line 119
      StackMap locals:
      StackMap stack:
            aload 6 /* javaVersion */
            ldc "13"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 21
        19: .line 120
            aload 0 /* this */
            ldc "JavaSE-13"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        20: .line 121
            goto 66
      StackMap locals:
      StackMap stack:
        21: aload 6 /* javaVersion */
            ldc "12"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 24
        22: .line 122
            aload 0 /* this */
            ldc "JavaSE-12"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        23: .line 123
            goto 66
      StackMap locals:
      StackMap stack:
        24: aload 6 /* javaVersion */
            ldc "11"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 27
        25: .line 124
            aload 0 /* this */
            ldc "JavaSE-11"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        26: .line 125
            goto 66
      StackMap locals:
      StackMap stack:
        27: aload 6 /* javaVersion */
            ldc "10"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 30
        28: .line 126
            aload 0 /* this */
            ldc "JavaSE-10"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        29: .line 127
            goto 66
      StackMap locals:
      StackMap stack:
        30: aload 6 /* javaVersion */
            ldc "9"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 33
        31: .line 128
            aload 0 /* this */
            ldc "JavaSE-9"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        32: .line 129
            goto 66
      StackMap locals:
      StackMap stack:
        33: aload 6 /* javaVersion */
            ldc "1.8"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 36
        34: .line 130
            aload 0 /* this */
            ldc "JavaSE-1.8"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        35: .line 131
            goto 66
      StackMap locals:
      StackMap stack:
        36: aload 6 /* javaVersion */
            ldc "1.7"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 39
        37: .line 132
            aload 0 /* this */
            ldc "JavaSE-1.7"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        38: .line 133
            goto 66
      StackMap locals:
      StackMap stack:
        39: aload 6 /* javaVersion */
            ldc "1.6"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 42
        40: .line 134
            aload 0 /* this */
            ldc "JavaSE-1.6"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        41: .line 135
            goto 66
      StackMap locals:
      StackMap stack:
        42: aload 6 /* javaVersion */
            ldc "1.5"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 45
        43: .line 136
            aload 0 /* this */
            ldc "J2SE-1.5"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        44: .line 137
            goto 66
      StackMap locals:
      StackMap stack:
        45: aload 6 /* javaVersion */
            ldc "1.4"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 48
        46: .line 138
            aload 0 /* this */
            ldc "J2SE-1.4"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        47: .line 139
            goto 66
      StackMap locals:
      StackMap stack:
        48: aload 6 /* javaVersion */
            ldc "1.3"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 51
        49: .line 140
            aload 0 /* this */
            ldc "J2SE-1.3"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        50: .line 141
            goto 66
      StackMap locals:
      StackMap stack:
        51: aload 6 /* javaVersion */
            ldc "1.2"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 54
        52: .line 142
            aload 0 /* this */
            ldc "J2SE-1.2"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        53: .line 143
            goto 66
      StackMap locals:
      StackMap stack:
        54: aload 6 /* javaVersion */
            ldc "1.1"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 60
        55: .line 144
            aload 1 /* vm */
            instanceof org.eclipse.jdt.launching.IVMInstall3
            ifeq 58
            aload 0 /* this */
            aload 1 /* vm */
            checkcast org.eclipse.jdt.launching.IVMInstall3
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.isFoundation1_1:(Lorg/eclipse/jdt/launching/IVMInstall3;)Z
            ifeq 58
        56: .line 145
            aload 0 /* this */
            ldc "CDC-1.1/Foundation-1.1"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        57: .line 146
            goto 66
        58: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "JRE-1.1"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        59: .line 149
            goto 66
      StackMap locals:
      StackMap stack:
        60: aload 6 /* javaVersion */
            ldc "1.0"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 64
        61: .line 150
            aload 1 /* vm */
            instanceof org.eclipse.jdt.launching.IVMInstall3
            ifeq 66
            aload 0 /* this */
            aload 1 /* vm */
            checkcast org.eclipse.jdt.launching.IVMInstall3
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.isFoundation1_0:(Lorg/eclipse/jdt/launching/IVMInstall3;)Z
            ifeq 66
        62: .line 151
            aload 0 /* this */
            ldc "CDC-1.0/Foundation-1.0"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        63: .line 153
            goto 66
      StackMap locals:
      StackMap stack:
        64: aload 6 /* javaVersion */
            ldc "1"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 66
            aload 6 /* javaVersion */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmplt 66
            aload 6 /* javaVersion */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpeq 66
        65: .line 155
            aload 0 /* this */
            ldc "JavaSE-10+"
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* types */
        end local 6 // java.lang.String javaVersion
        66: .line 160
      StackMap locals:
      StackMap stack:
            aload 5 /* types */
            ifnull 74
        67: .line 161
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        68: goto 73
        69: .line 162
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* result */
            aload 5 /* types */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            iload 6 /* i */
            ifne 70
            iconst_1
            goto 71
      StackMap locals: org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer org.eclipse.jdt.launching.IVMInstall org.eclipse.core.runtime.IProgressMonitor java.util.ArrayList org.eclipse.jdt.launching.IVMInstall2 java.util.List int
      StackMap stack: org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer java.util.ArrayList java.lang.String
        70: iconst_0
      StackMap locals: org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer org.eclipse.jdt.launching.IVMInstall org.eclipse.core.runtime.IProgressMonitor java.util.ArrayList org.eclipse.jdt.launching.IVMInstall2 java.util.List int
      StackMap stack: org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer java.util.ArrayList java.lang.String int
        71: invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.addEnvironment:(Ljava/util/ArrayList;Ljava/lang/String;Z)V
        72: .line 161
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        73: iload 6 /* i */
            aload 5 /* types */
            invokeinterface java.util.List.size:()I
            if_icmplt 69
        end local 6 // int i
        74: .line 165
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            aload 3 /* result */
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.jdt.launching.environments.CompatibleEnvironment
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.environments.CompatibleEnvironment[]
            areturn
        end local 5 // java.util.List types
        end local 4 // org.eclipse.jdt.launching.IVMInstall2 vm2
        end local 3 // java.util.ArrayList result
        end local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 1 // org.eclipse.jdt.launching.IVMInstall vm
        end local 0 // org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   75     0         this  Lorg/eclipse/jdt/internal/launching/environments/ExecutionEnvironmentAnalyzer;
            0   75     1           vm  Lorg/eclipse/jdt/launching/IVMInstall;
            0   75     2      monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1   75     3       result  Ljava/util/ArrayList<Lorg/eclipse/jdt/launching/environments/CompatibleEnvironment;>;
            4   75     4          vm2  Lorg/eclipse/jdt/launching/IVMInstall2;
            5   75     5        types  Ljava/util/List<Ljava/lang/String;>;
            7    9     6         eeId  Ljava/lang/String;
           11   66     6  javaVersion  Ljava/lang/String;
           68   74     6            i  I
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      vm       
      monitor  

  private boolean isFoundation(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer this
        start local 1 // java.util.Map properties
         0: .line 172
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 11
         2: .line 173
      StackMap locals: int
      StackMap stack:
            aload 1 /* properties */
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.VM_PROPERTIES:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* value */
        start local 3 // java.lang.String value
         3: .line 174
            aload 3 /* value */
            ifnonnull 5
         4: .line 175
            goto 10
         5: .line 177
      StackMap locals: java.lang.String
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 3 /* value */
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
            astore 4 /* tokenizer */
        start local 4 // java.util.StringTokenizer tokenizer
         6: goto 9
         7: .line 178
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            ldc "foundation"
            aload 4 /* tokenizer */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 9
         8: .line 179
            iconst_1
            ireturn
         9: .line 177
      StackMap locals:
      StackMap stack:
            aload 4 /* tokenizer */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 7
        end local 4 // java.util.StringTokenizer tokenizer
        end local 3 // java.lang.String value
        10: .line 172
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.VM_PROPERTIES:[Ljava/lang/String;
            arraylength
            if_icmplt 2
        end local 2 // int i
        12: .line 183
            iconst_0
            ireturn
        end local 1 // java.util.Map properties
        end local 0 // org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lorg/eclipse/jdt/internal/launching/environments/ExecutionEnvironmentAnalyzer;
            0   13     1  properties  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1   12     2           i  I
            3   10     3       value  Ljava/lang/String;
            6   10     4   tokenizer  Ljava/util/StringTokenizer;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Z
    MethodParameters:
            Name  Flags
      properties  

  private boolean isFoundation1_0(org.eclipse.jdt.launching.IVMInstall3);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall3;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer this
        start local 1 // org.eclipse.jdt.launching.IVMInstall3 vm
         0: .line 187
            aload 1 /* vm */
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.VM_PROPERTIES:[Ljava/lang/String;
            aconst_null
            invokeinterface org.eclipse.jdt.launching.IVMInstall3.evaluateSystemProperties:([Ljava/lang/String;Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/util/Map;
            astore 2 /* map */
        start local 2 // java.util.Map map
         1: .line 188
            aload 0 /* this */
            aload 2 /* map */
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.isFoundation:(Ljava/util/Map;)Z
            ifeq 2
            ldc "1.0"
            aload 2 /* map */
            ldc "java.specification.version"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            goto 3
      StackMap locals: java.util.Map
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // java.util.Map map
        end local 1 // org.eclipse.jdt.launching.IVMInstall3 vm
        end local 0 // org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/launching/environments/ExecutionEnvironmentAnalyzer;
            0    4     1    vm  Lorg/eclipse/jdt/launching/IVMInstall3;
            1    4     2   map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
      Name  Flags
      vm    

  private boolean isFoundation1_1(org.eclipse.jdt.launching.IVMInstall3);
    descriptor: (Lorg/eclipse/jdt/launching/IVMInstall3;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer this
        start local 1 // org.eclipse.jdt.launching.IVMInstall3 vm
         0: .line 192
            aload 1 /* vm */
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.VM_PROPERTIES:[Ljava/lang/String;
            aconst_null
            invokeinterface org.eclipse.jdt.launching.IVMInstall3.evaluateSystemProperties:([Ljava/lang/String;Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/util/Map;
            astore 2 /* map */
        start local 2 // java.util.Map map
         1: .line 193
            aload 0 /* this */
            aload 2 /* map */
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.isFoundation:(Ljava/util/Map;)Z
            ifeq 2
            ldc "1.1"
            aload 2 /* map */
            ldc "java.specification.version"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            goto 3
      StackMap locals: java.util.Map
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // java.util.Map map
        end local 1 // org.eclipse.jdt.launching.IVMInstall3 vm
        end local 0 // org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/launching/environments/ExecutionEnvironmentAnalyzer;
            0    4     1    vm  Lorg/eclipse/jdt/launching/IVMInstall3;
            1    4     2   map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
      Name  Flags
      vm    

  private void addEnvironment(java.util.ArrayList<org.eclipse.jdt.launching.environments.CompatibleEnvironment>, java.lang.String, );
    descriptor: (Ljava/util/ArrayList;Ljava/lang/String;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer this
        start local 1 // java.util.ArrayList result
        start local 2 // java.lang.String id
        start local 3 // boolean strict
         0: .line 197
            invokestatic org.eclipse.jdt.launching.JavaRuntime.getExecutionEnvironmentsManager:()Lorg/eclipse/jdt/launching/environments/IExecutionEnvironmentsManager;
            astore 4 /* manager */
        start local 4 // org.eclipse.jdt.launching.environments.IExecutionEnvironmentsManager manager
         1: .line 198
            aload 4 /* manager */
            aload 2 /* id */
            invokeinterface org.eclipse.jdt.launching.environments.IExecutionEnvironmentsManager.getEnvironment:(Ljava/lang/String;)Lorg/eclipse/jdt/launching/environments/IExecutionEnvironment;
            astore 5 /* env */
        start local 5 // org.eclipse.jdt.launching.environments.IExecutionEnvironment env
         2: .line 199
            aload 5 /* env */
            ifnull 4
         3: .line 200
            aload 1 /* result */
            new org.eclipse.jdt.launching.environments.CompatibleEnvironment
            dup
            aload 5 /* env */
            iload 3 /* strict */
            invokespecial org.eclipse.jdt.launching.environments.CompatibleEnvironment.<init>:(Lorg/eclipse/jdt/launching/environments/IExecutionEnvironment;Z)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 202
      StackMap locals: org.eclipse.jdt.launching.environments.IExecutionEnvironmentsManager org.eclipse.jdt.launching.environments.IExecutionEnvironment
      StackMap stack:
            return
        end local 5 // org.eclipse.jdt.launching.environments.IExecutionEnvironment env
        end local 4 // org.eclipse.jdt.launching.environments.IExecutionEnvironmentsManager manager
        end local 3 // boolean strict
        end local 2 // java.lang.String id
        end local 1 // java.util.ArrayList result
        end local 0 // org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/eclipse/jdt/internal/launching/environments/ExecutionEnvironmentAnalyzer;
            0    5     1   result  Ljava/util/ArrayList<Lorg/eclipse/jdt/launching/environments/CompatibleEnvironment;>;
            0    5     2       id  Ljava/lang/String;
            0    5     3   strict  Z
            1    5     4  manager  Lorg/eclipse/jdt/launching/environments/IExecutionEnvironmentsManager;
            2    5     5      env  Lorg/eclipse/jdt/launching/environments/IExecutionEnvironment;
    Signature: (Ljava/util/ArrayList<Lorg/eclipse/jdt/launching/environments/CompatibleEnvironment;>;Ljava/lang/String;Z)V
    MethodParameters:
        Name  Flags
      result  
      id      
      strict  

  private java.util.List<java.lang.String> getTypes(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer this
        start local 1 // java.lang.String type
         0: .line 206
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.List result
         1: .line 207
            aload 2 /* result */
            aload 1 /* type */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 208
            getstatic org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.mappings:Ljava/util/Map;
            aload 1 /* type */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 3 /* values */
        start local 3 // java.lang.String[] values
         3: .line 209
            aload 3 /* values */
            ifnull 9
         4: .line 210
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 8
         6: .line 211
      StackMap locals: java.util.List java.lang.String[] int
      StackMap stack:
            aload 2 /* result */
            aload 0 /* this */
            aload 3 /* values */
            iload 4 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer.getTypes:(Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 210
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 3 /* values */
            arraylength
            if_icmplt 6
        end local 4 // int i
         9: .line 214
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 3 // java.lang.String[] values
        end local 2 // java.util.List result
        end local 1 // java.lang.String type
        end local 0 // org.eclipse.jdt.internal.launching.environments.ExecutionEnvironmentAnalyzer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/eclipse/jdt/internal/launching/environments/ExecutionEnvironmentAnalyzer;
            0   10     1    type  Ljava/lang/String;
            1   10     2  result  Ljava/util/List<Ljava/lang/String;>;
            3   10     3  values  [Ljava/lang/String;
            5    9     4       i  I
    Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      type  
}
SourceFile: "ExecutionEnvironmentAnalyzer.java"