public final class org.graalvm.component.installer.model.ComponentInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.component.installer.model.ComponentInfo
  super_class: java.lang.Object
{
  private final java.lang.String id;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String versionString;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.component.installer.Version version;
    descriptor: Lorg/graalvm/component/installer/Version;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.String infoPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String licensePath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String licenseType;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Map<java.lang.String, java.lang.String> requiredGraalValues;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private final java.util.List<java.lang.String> paths;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private final java.util.Set<java.lang.String> workingDirectories;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private final java.util.Map<java.lang.String, java.lang.Object> providedValues;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private java.net.URL remoteURL;
    descriptor: Ljava/net/URL;
    flags: (0x0002) ACC_PRIVATE

  private boolean polyglotRebuild;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private byte[] shaDigest;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String postinstMessage;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private boolean nativeComponent;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String tag;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set<java.lang.String> dependencies;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private java.lang.String origin;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.component.installer.model.DistributionType distributionType;
    descriptor: Lorg/graalvm/component/installer/model/DistributionType;
    flags: (0x0002) ACC_PRIVATE

  private int priority;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.component.installer.model.StabilityLevel stability;
    descriptor: Lorg/graalvm/component/installer/model/StabilityLevel;
    flags: (0x0002) ACC_PRIVATE

  private static final java.util.Comparator<org.graalvm.component.installer.model.ComponentInfo> COMPARATOR_VERSIONS;
    descriptor: Ljava/util/Comparator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Comparator<Lorg/graalvm/component/installer/model/ComponentInfo;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 356
            new org.graalvm.component.installer.model.ComponentInfo$1
            dup
            invokespecial org.graalvm.component.installer.model.ComponentInfo$1.<init>:()V
            putstatic org.graalvm.component.installer.model.ComponentInfo.COMPARATOR_VERSIONS:Ljava/util/Comparator;
         1: .line 376
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.lang.String id
        start local 2 // java.lang.String name
        start local 3 // java.lang.String versionString
        start local 4 // java.lang.String tag
         0: .line 126
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 84
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.graalvm.component.installer.model.ComponentInfo.requiredGraalValues:Ljava/util/Map;
         2: .line 86
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.graalvm.component.installer.model.ComponentInfo.paths:Ljava/util/List;
         3: .line 88
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield org.graalvm.component.installer.model.ComponentInfo.workingDirectories:Ljava/util/Set;
         4: .line 90
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.graalvm.component.installer.model.ComponentInfo.providedValues:Ljava/util/Map;
         5: .line 102
            aload 0 /* this */
            ldc ""
            putfield org.graalvm.component.installer.model.ComponentInfo.tag:Ljava/lang/String;
         6: .line 107
            aload 0 /* this */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            putfield org.graalvm.component.installer.model.ComponentInfo.dependencies:Ljava/util/Set;
         7: .line 117
            aload 0 /* this */
            getstatic org.graalvm.component.installer.model.DistributionType.OPTIONAL:Lorg/graalvm/component/installer/model/DistributionType;
            putfield org.graalvm.component.installer.model.ComponentInfo.distributionType:Lorg/graalvm/component/installer/model/DistributionType;
         8: .line 124
            aload 0 /* this */
            getstatic org.graalvm.component.installer.model.StabilityLevel.Undefined:Lorg/graalvm/component/installer/model/StabilityLevel;
            putfield org.graalvm.component.installer.model.ComponentInfo.stability:Lorg/graalvm/component/installer/model/StabilityLevel;
         9: .line 127
            aload 0 /* this */
            aload 1 /* id */
            putfield org.graalvm.component.installer.model.ComponentInfo.id:Ljava/lang/String;
        10: .line 128
            aload 0 /* this */
            aload 3 /* versionString */
            putfield org.graalvm.component.installer.model.ComponentInfo.versionString:Ljava/lang/String;
        11: .line 129
            aload 0 /* this */
            aload 2 /* name */
            putfield org.graalvm.component.installer.model.ComponentInfo.name:Ljava/lang/String;
        12: .line 130
            aload 0 /* this */
            aload 3 /* versionString */
            invokestatic org.graalvm.component.installer.Version.fromString:(Ljava/lang/String;)Lorg/graalvm/component/installer/Version;
            putfield org.graalvm.component.installer.model.ComponentInfo.version:Lorg/graalvm/component/installer/Version;
        13: .line 131
            aload 0 /* this */
            aload 4 /* tag */
            putfield org.graalvm.component.installer.model.ComponentInfo.tag:Ljava/lang/String;
        14: .line 132
            return
        end local 4 // java.lang.String tag
        end local 3 // java.lang.String versionString
        end local 2 // java.lang.String name
        end local 1 // java.lang.String id
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0   15     1             id  Ljava/lang/String;
            0   15     2           name  Ljava/lang/String;
            0   15     3  versionString  Ljava/lang/String;
            0   15     4            tag  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      id             
      name           
      versionString  
      tag            

  public void <init>(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.lang.String id
        start local 2 // java.lang.String name
        start local 3 // java.lang.String versionString
         0: .line 135
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* name */
            aload 3 /* versionString */
            ldc ""
            invokespecial org.graalvm.component.installer.model.ComponentInfo.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 136
            return
        end local 3 // java.lang.String versionString
        end local 2 // java.lang.String name
        end local 1 // java.lang.String id
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1             id  Ljava/lang/String;
            0    2     2           name  Ljava/lang/String;
            0    2     3  versionString  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      id             
      name           
      versionString  

  public void <init>(java.lang.String, java.lang.String, org.graalvm.component.installer.Version);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/component/installer/Version;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.lang.String id
        start local 2 // java.lang.String name
        start local 3 // org.graalvm.component.installer.Version v
         0: .line 138
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 84
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.graalvm.component.installer.model.ComponentInfo.requiredGraalValues:Ljava/util/Map;
         2: .line 86
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.graalvm.component.installer.model.ComponentInfo.paths:Ljava/util/List;
         3: .line 88
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield org.graalvm.component.installer.model.ComponentInfo.workingDirectories:Ljava/util/Set;
         4: .line 90
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.graalvm.component.installer.model.ComponentInfo.providedValues:Ljava/util/Map;
         5: .line 102
            aload 0 /* this */
            ldc ""
            putfield org.graalvm.component.installer.model.ComponentInfo.tag:Ljava/lang/String;
         6: .line 107
            aload 0 /* this */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            putfield org.graalvm.component.installer.model.ComponentInfo.dependencies:Ljava/util/Set;
         7: .line 117
            aload 0 /* this */
            getstatic org.graalvm.component.installer.model.DistributionType.OPTIONAL:Lorg/graalvm/component/installer/model/DistributionType;
            putfield org.graalvm.component.installer.model.ComponentInfo.distributionType:Lorg/graalvm/component/installer/model/DistributionType;
         8: .line 124
            aload 0 /* this */
            getstatic org.graalvm.component.installer.model.StabilityLevel.Undefined:Lorg/graalvm/component/installer/model/StabilityLevel;
            putfield org.graalvm.component.installer.model.ComponentInfo.stability:Lorg/graalvm/component/installer/model/StabilityLevel;
         9: .line 139
            aload 0 /* this */
            aload 1 /* id */
            putfield org.graalvm.component.installer.model.ComponentInfo.id:Ljava/lang/String;
        10: .line 140
            aload 0 /* this */
            aload 3 /* v */
            ifnonnull 11
            aconst_null
            goto 12
      StackMap locals: org.graalvm.component.installer.model.ComponentInfo java.lang.String java.lang.String org.graalvm.component.installer.Version
      StackMap stack: org.graalvm.component.installer.model.ComponentInfo
        11: aload 3 /* v */
            invokevirtual org.graalvm.component.installer.Version.originalString:()Ljava/lang/String;
      StackMap locals: org.graalvm.component.installer.model.ComponentInfo java.lang.String java.lang.String org.graalvm.component.installer.Version
      StackMap stack: org.graalvm.component.installer.model.ComponentInfo java.lang.String
        12: putfield org.graalvm.component.installer.model.ComponentInfo.versionString:Ljava/lang/String;
        13: .line 141
            aload 0 /* this */
            aload 2 /* name */
            putfield org.graalvm.component.installer.model.ComponentInfo.name:Ljava/lang/String;
        14: .line 142
            aload 0 /* this */
            aload 3 /* v */
            ifnonnull 15
            getstatic org.graalvm.component.installer.Version.NO_VERSION:Lorg/graalvm/component/installer/Version;
            goto 16
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.model.ComponentInfo
        15: aload 3 /* v */
      StackMap locals: org.graalvm.component.installer.model.ComponentInfo java.lang.String java.lang.String org.graalvm.component.installer.Version
      StackMap stack: org.graalvm.component.installer.model.ComponentInfo org.graalvm.component.installer.Version
        16: putfield org.graalvm.component.installer.model.ComponentInfo.version:Lorg/graalvm/component/installer/Version;
        17: .line 143
            return
        end local 3 // org.graalvm.component.installer.Version v
        end local 2 // java.lang.String name
        end local 1 // java.lang.String id
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0   18     1    id  Ljava/lang/String;
            0   18     2  name  Ljava/lang/String;
            0   18     3     v  Lorg/graalvm/component/installer/Version;
    MethodParameters:
      Name  Flags
      id    
      name  
      v     

  public java.lang.String getId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 146
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.id:Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public java.lang.String getVersionString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 150
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.versionString:Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 154
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.name:Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public org.graalvm.component.installer.model.DistributionType getDistributionType();
    descriptor: ()Lorg/graalvm/component/installer/model/DistributionType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 158
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.distributionType:Lorg/graalvm/component/installer/model/DistributionType;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public void setDistributionType(org.graalvm.component.installer.model.DistributionType);
    descriptor: (Lorg/graalvm/component/installer/model/DistributionType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // org.graalvm.component.installer.model.DistributionType distributionType
         0: .line 162
            aload 0 /* this */
            aload 1 /* distributionType */
            putfield org.graalvm.component.installer.model.ComponentInfo.distributionType:Lorg/graalvm/component/installer/model/DistributionType;
         1: .line 163
            return
        end local 1 // org.graalvm.component.installer.model.DistributionType distributionType
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1  distributionType  Lorg/graalvm/component/installer/model/DistributionType;
    MethodParameters:
                  Name  Flags
      distributionType  

  public java.util.Map<java.lang.String, java.lang.String> getRequiredGraalValues();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 166
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.requiredGraalValues:Ljava/util/Map;
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public void addRequiredValues(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.util.Map vals
         0: .line 170
            aload 1 /* vals */
            ldc "os_name"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* os */
        start local 2 // java.lang.String os
         1: .line 171
            aload 1 /* vals */
            ldc "os_arch"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* arch */
        start local 3 // java.lang.String arch
         2: .line 172
            aload 2 /* os */
            ifnull 6
         3: .line 173
            aload 2 /* os */
            aload 3 /* arch */
            invokestatic org.graalvm.component.installer.SystemUtils.normalizeOSName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* nos */
        start local 4 // java.lang.String nos
         4: .line 174
            aload 4 /* nos */
            aload 2 /* os */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 175
            aload 1 /* vals */
            ldc "os_name"
            aload 4 /* nos */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String nos
         6: .line 178
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* arch */
            ifnull 10
         7: .line 179
            aload 2 /* os */
            aload 3 /* arch */
            invokestatic org.graalvm.component.installer.SystemUtils.normalizeArchitecture:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* narch */
        start local 4 // java.lang.String narch
         8: .line 180
            aload 4 /* narch */
            aload 2 /* os */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
         9: .line 181
            aload 1 /* vals */
            ldc "os_arch"
            aload 4 /* narch */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String narch
        10: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.requiredGraalValues:Ljava/util/Map;
            aload 1 /* vals */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        11: .line 185
            return
        end local 3 // java.lang.String arch
        end local 2 // java.lang.String os
        end local 1 // java.util.Map vals
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0   12     1   vals  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1   12     2     os  Ljava/lang/String;
            2   12     3   arch  Ljava/lang/String;
            4    6     4    nos  Ljava/lang/String;
            8   10     4  narch  Ljava/lang/String;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
      Name  Flags
      vals  

  public void addRequiredValue(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.lang.String s
        start local 2 // java.lang.String val
         0: .line 188
            aload 2 /* val */
            ifnonnull 3
         1: .line 189
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.requiredGraalValues:Ljava/util/Map;
            aload 1 /* s */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 190
            goto 12
         3: .line 191
      StackMap locals:
      StackMap stack:
            aload 2 /* val */
            astore 3 /* v */
        start local 3 // java.lang.String v
         4: .line 192
            aload 1 /* s */
            dup
            astore 4
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
          -1183217199: 5
          -1182845946: 6
              default: 11
          }
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
         5: aload 4
            ldc "os_arch"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 11
      StackMap locals:
      StackMap stack:
         6: aload 4
            ldc "os_name"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            goto 11
         7: .line 194
      StackMap locals:
      StackMap stack:
            aconst_null
            aload 2 /* val */
            invokestatic org.graalvm.component.installer.SystemUtils.normalizeArchitecture:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* v */
         8: .line 195
            goto 11
         9: .line 197
      StackMap locals:
      StackMap stack:
            aload 2 /* val */
            aconst_null
            invokestatic org.graalvm.component.installer.SystemUtils.normalizeOSName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* v */
        10: .line 198
            goto 11
        11: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.requiredGraalValues:Ljava/util/Map;
            aload 1 /* s */
            aload 3 /* v */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.String v
        12: .line 204
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String val
        end local 1 // java.lang.String s
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0   13     1     s  Ljava/lang/String;
            0   13     2   val  Ljava/lang/String;
            4   12     3     v  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     
      val   

  public void addPaths(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.util.List filePaths
         0: .line 207
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.paths:Ljava/util/List;
            aload 1 /* filePaths */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 208
            return
        end local 1 // java.util.List filePaths
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1  filePaths  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
           Name  Flags
      filePaths  

  public void setPaths(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.util.List filePaths
         0: .line 211
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.paths:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         1: .line 212
            aload 0 /* this */
            aload 1 /* filePaths */
            invokevirtual org.graalvm.component.installer.model.ComponentInfo.addPaths:(Ljava/util/List;)V
         2: .line 213
            return
        end local 1 // java.util.List filePaths
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    3     1  filePaths  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
           Name  Flags
      filePaths  

  public java.util.List<java.lang.String> getPaths();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 216
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.paths:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public java.lang.String getInfoPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 220
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.infoPath:Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public void setInfoPath(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.lang.String infoPath
         0: .line 224
            aload 0 /* this */
            aload 1 /* infoPath */
            putfield org.graalvm.component.installer.model.ComponentInfo.infoPath:Ljava/lang/String;
         1: .line 225
            return
        end local 1 // java.lang.String infoPath
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1  infoPath  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      infoPath  

  public java.lang.String getLicensePath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 228
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.licensePath:Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public void setLicensePath(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.lang.String licensePath
         0: .line 232
            aload 0 /* this */
            aload 1 /* licensePath */
            putfield org.graalvm.component.installer.model.ComponentInfo.licensePath:Ljava/lang/String;
         1: .line 233
            return
        end local 1 // java.lang.String licensePath
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1  licensePath  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      licensePath  

  public java.net.URL getRemoteURL();
    descriptor: ()Ljava/net/URL;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 236
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.remoteURL:Ljava/net/URL;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public void setRemoteURL(java.net.URL);
    descriptor: (Ljava/net/URL;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.net.URL remoteURL
         0: .line 240
            aload 0 /* this */
            aload 1 /* remoteURL */
            putfield org.graalvm.component.installer.model.ComponentInfo.remoteURL:Ljava/net/URL;
         1: .line 241
            return
        end local 1 // java.net.URL remoteURL
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1  remoteURL  Ljava/net/URL;
    MethodParameters:
           Name  Flags
      remoteURL  

  public byte[] getShaDigest();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 244
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.shaDigest:[B
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public void setShaDigest(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // byte[] shaDigest
         0: .line 248
            aload 0 /* this */
            aload 1 /* shaDigest */
            putfield org.graalvm.component.installer.model.ComponentInfo.shaDigest:[B
         1: .line 249
            return
        end local 1 // byte[] shaDigest
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1  shaDigest  [B
    MethodParameters:
           Name  Flags
      shaDigest  

  public boolean isPolyglotRebuild();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 252
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.polyglotRebuild:Z
            ireturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public void setPolyglotRebuild(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // boolean polyglotRebuild
         0: .line 256
            aload 0 /* this */
            iload 1 /* polyglotRebuild */
            putfield org.graalvm.component.installer.model.ComponentInfo.polyglotRebuild:Z
         1: .line 257
            return
        end local 1 // boolean polyglotRebuild
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1  polyglotRebuild  Z
    MethodParameters:
                 Name  Flags
      polyglotRebuild  

  public java.util.Set<java.lang.String> getWorkingDirectories();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 260
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.workingDirectories:Ljava/util/Set;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public void addWorkingDirectories(java.util.Collection<java.lang.String>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.util.Collection dirs
         0: .line 264
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.workingDirectories:Ljava/util/Set;
            aload 1 /* dirs */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 265
            return
        end local 1 // java.util.Collection dirs
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1  dirs  Ljava/util/Collection<Ljava/lang/String;>;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;)V
    MethodParameters:
      Name  Flags
      dirs  

  public java.lang.String getPostinstMessage();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 268
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.postinstMessage:Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public void setPostinstMessage(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.lang.String postinstMessage
         0: .line 272
            aload 0 /* this */
            aload 1 /* postinstMessage */
            putfield org.graalvm.component.installer.model.ComponentInfo.postinstMessage:Ljava/lang/String;
         1: .line 273
            return
        end local 1 // java.lang.String postinstMessage
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1  postinstMessage  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      postinstMessage  

  public java.lang.String getLicenseType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 276
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.licenseType:Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public void setLicenseType(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.lang.String licenseType
         0: .line 280
            aload 0 /* this */
            aload 1 /* licenseType */
            putfield org.graalvm.component.installer.model.ComponentInfo.licenseType:Ljava/lang/String;
         1: .line 281
            return
        end local 1 // java.lang.String licenseType
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1  licenseType  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      licenseType  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 285
            iconst_5
            istore 1 /* hash */
        start local 1 // int hash
         1: .line 286
            bipush 37
            iload 1 /* hash */
            imul
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.id:Ljava/lang/String;
            invokestatic java.util.Objects.hashCode:(Ljava/lang/Object;)I
            iadd
            istore 1 /* hash */
         2: .line 287
            bipush 37
            iload 1 /* hash */
            imul
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.version:Lorg/graalvm/component/installer/Version;
            invokestatic java.util.Objects.hashCode:(Ljava/lang/Object;)I
            iadd
            istore 1 /* hash */
         3: .line 288
            bipush 37
            iload 1 /* hash */
            imul
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.tag:Ljava/lang/String;
            invokestatic java.util.Objects.hashCode:(Ljava/lang/Object;)I
            iadd
            istore 1 /* hash */
         4: .line 289
            iload 1 /* hash */
            ireturn
        end local 1 // int hash
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;
            1    5     1  hash  I

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.lang.Object obj
         0: .line 294
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 2
         1: .line 295
            iconst_1
            ireturn
         2: .line 297
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            ifnonnull 4
         3: .line 298
            iconst_0
            ireturn
         4: .line 300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 6
         5: .line 301
            iconst_0
            ireturn
         6: .line 303
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast org.graalvm.component.installer.model.ComponentInfo
            astore 2 /* other */
        start local 2 // org.graalvm.component.installer.model.ComponentInfo other
         7: .line 304
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.id:Ljava/lang/String;
            aload 2 /* other */
            getfield org.graalvm.component.installer.model.ComponentInfo.id:Ljava/lang/String;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 9
         8: .line 305
            iconst_0
            ireturn
         9: .line 307
      StackMap locals: org.graalvm.component.installer.model.ComponentInfo
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.version:Lorg/graalvm/component/installer/Version;
            aload 2 /* other */
            getfield org.graalvm.component.installer.model.ComponentInfo.version:Lorg/graalvm/component/installer/Version;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 11
        10: .line 308
            iconst_0
            ireturn
        11: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.tag:Ljava/lang/String;
            aload 2 /* other */
            getfield org.graalvm.component.installer.model.ComponentInfo.tag:Ljava/lang/String;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 13
        12: .line 311
            iconst_0
            ireturn
        13: .line 313
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.graalvm.component.installer.model.ComponentInfo other
        end local 1 // java.lang.Object obj
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0   14     1    obj  Ljava/lang/Object;
            7   14     2  other  Lorg/graalvm/component/installer/model/ComponentInfo;
    MethodParameters:
      Name  Flags
      obj   

  public org.graalvm.component.installer.Version getVersion();
    descriptor: ()Lorg/graalvm/component/installer/Version;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 317
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.version:Lorg/graalvm/component/installer/Version;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  private static java.util.Comparator<org.graalvm.component.installer.model.ComponentInfo> editionComparator(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Comparator;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String myEdition
         0: .line 321
            new org.graalvm.component.installer.model.ComponentInfo$2
            dup
            aload 0 /* myEdition */
            invokespecial org.graalvm.component.installer.model.ComponentInfo$2.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String myEdition
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  myEdition  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/Comparator<Lorg/graalvm/component/installer/model/ComponentInfo;>;
    MethodParameters:
           Name  Flags
      myEdition  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 380
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.component.installer.model.ComponentInfo.getId:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.graalvm.component.installer.model.ComponentInfo.getVersion:()Lorg/graalvm/component/installer/Version;
            invokevirtual org.graalvm.component.installer.Version.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 381
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.tag:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
            ldc ""
            goto 3
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         2: new java.lang.StringBuilder
            dup
            ldc "/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.tag:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: org.graalvm.component.installer.model.ComponentInfo
      StackMap stack: java.lang.StringBuilder java.lang.String
         3: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 380
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public static java.util.Comparator<org.graalvm.component.installer.model.ComponentInfo> versionComparator();
    descriptor: ()Ljava/util/Comparator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 385
            getstatic org.graalvm.component.installer.model.ComponentInfo.COMPARATOR_VERSIONS:Ljava/util/Comparator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Comparator<Lorg/graalvm/component/installer/model/ComponentInfo;>;

  public static java.util.Comparator<org.graalvm.component.installer.model.ComponentInfo> reverseVersionComparator(org.graalvm.component.installer.model.ComponentStorage);
    descriptor: (Lorg/graalvm/component/installer/model/ComponentStorage;)Ljava/util/Comparator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentStorage target
         0: .line 389
            aload 0 /* target */
            invokeinterface org.graalvm.component.installer.model.ComponentStorage.loadGraalVersionInfo:()Ljava/util/Map;
            ldc "graalvm_version"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* myEdition */
        start local 1 // java.lang.String myEdition
         1: .line 390
            invokestatic org.graalvm.component.installer.model.ComponentInfo.versionComparator:()Ljava/util/Comparator;
            invokeinterface java.util.Comparator.reversed:()Ljava/util/Comparator;
            aload 1 /* myEdition */
            invokestatic org.graalvm.component.installer.model.ComponentInfo.editionComparator:(Ljava/lang/String;)Ljava/util/Comparator;
            invokeinterface java.util.Comparator.thenComparing:(Ljava/util/Comparator;)Ljava/util/Comparator;
            areturn
        end local 1 // java.lang.String myEdition
        end local 0 // org.graalvm.component.installer.model.ComponentStorage target
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0     target  Lorg/graalvm/component/installer/model/ComponentStorage;
            1    2     1  myEdition  Ljava/lang/String;
    Signature: (Lorg/graalvm/component/installer/model/ComponentStorage;)Ljava/util/Comparator<Lorg/graalvm/component/installer/model/ComponentInfo;>;
    MethodParameters:
        Name  Flags
      target  

  public static java.util.Comparator<org.graalvm.component.installer.model.ComponentInfo> versionComparator(org.graalvm.component.installer.model.ComponentStorage);
    descriptor: (Lorg/graalvm/component/installer/model/ComponentStorage;)Ljava/util/Comparator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentStorage target
         0: .line 394
            aload 0 /* target */
            invokeinterface org.graalvm.component.installer.model.ComponentStorage.loadGraalVersionInfo:()Ljava/util/Map;
            ldc "graalvm_version"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* myEdition */
        start local 1 // java.lang.String myEdition
         1: .line 395
            invokestatic org.graalvm.component.installer.model.ComponentInfo.versionComparator:()Ljava/util/Comparator;
            aload 1 /* myEdition */
            invokestatic org.graalvm.component.installer.model.ComponentInfo.editionComparator:(Ljava/lang/String;)Ljava/util/Comparator;
            invokeinterface java.util.Comparator.thenComparing:(Ljava/util/Comparator;)Ljava/util/Comparator;
            areturn
        end local 1 // java.lang.String myEdition
        end local 0 // org.graalvm.component.installer.model.ComponentStorage target
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0     target  Lorg/graalvm/component/installer/model/ComponentStorage;
            1    2     1  myEdition  Ljava/lang/String;
    Signature: (Lorg/graalvm/component/installer/model/ComponentStorage;)Ljava/util/Comparator<Lorg/graalvm/component/installer/model/ComponentInfo;>;
    MethodParameters:
        Name  Flags
      target  

  public java.lang.String getOrigin();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 399
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.origin:Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public void setOrigin(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.lang.String origin
         0: .line 403
            aload 0 /* this */
            aload 1 /* origin */
            putfield org.graalvm.component.installer.model.ComponentInfo.origin:Ljava/lang/String;
         1: .line 404
            return
        end local 1 // java.lang.String origin
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1  origin  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      origin  

  public boolean isNativeComponent();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 407
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.nativeComponent:Z
            ireturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public void setNativeComponent(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // boolean nativeComponent
         0: .line 411
            aload 0 /* this */
            iload 1 /* nativeComponent */
            putfield org.graalvm.component.installer.model.ComponentInfo.nativeComponent:Z
         1: .line 412
            return
        end local 1 // boolean nativeComponent
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1  nativeComponent  Z
    MethodParameters:
                 Name  Flags
      nativeComponent  

  public <T> void provideValue(java.lang.String, );
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.lang.String k
        start local 2 // java.lang.Object v
         0: .line 415
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.providedValues:Ljava/util/Map;
            aload 1 /* k */
            aload 2 /* v */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 416
            return
        end local 2 // java.lang.Object v
        end local 1 // java.lang.String k
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1     k  Ljava/lang/String;
            0    2     2     v  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;TT;)V
    MethodParameters:
      Name  Flags
      k     
      v     

  public <T> T getProvidedValue(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.lang.String k
        start local 2 // java.lang.Class type
         0: .line 419
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.providedValues:Ljava/util/Map;
            aload 1 /* k */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* o */
        start local 3 // java.lang.Object o
         1: .line 420
            aload 2 /* type */
            aload 3 /* o */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 5
         2: .line 421
            aload 2 /* type */
            ldc Ljava/lang/String;
            if_acmpne 3
            aload 3 /* o */
            ifnonnull 4
         3: .line 422
      StackMap locals: java.lang.Object
      StackMap stack:
            aconst_null
            areturn
         4: .line 424
      StackMap locals:
      StackMap stack:
            aload 3 /* o */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 3 /* o */
         5: .line 427
      StackMap locals:
      StackMap stack:
            aload 3 /* o */
            astore 4 /* ret */
        start local 4 // java.lang.Object ret
         6: .line 428
            aload 4 /* ret */
            areturn
        end local 4 // java.lang.Object ret
        end local 3 // java.lang.Object o
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String k
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    7     1     k  Ljava/lang/String;
            0    7     2  type  Ljava/lang/Class<TT;>;
            1    7     3     o  Ljava/lang/Object;
            6    7     4   ret  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
      Name  Flags
      k     
      type  

  public java.util.Map<java.lang.String, java.lang.Object> getProvidedValues();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 432
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.providedValues:Ljava/util/Map;
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  public void addProvidedValues(java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.util.Map vals
         0: .line 436
            aload 1 /* vals */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.graalvm.component.installer.model.ComponentInfo java.util.Map top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* s */
        start local 2 // java.lang.String s
         2: .line 437
            aload 0 /* this */
            aload 2 /* s */
            aload 1 /* vals */
            aload 2 /* s */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual org.graalvm.component.installer.model.ComponentInfo.provideValue:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 2 // java.lang.String s
         3: .line 436
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 439
            return
        end local 1 // java.util.Map vals
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    5     1  vals  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            2    3     2     s  Ljava/lang/String;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
    MethodParameters:
      Name  Flags
      vals  

  public void setDependencies(java.util.Set<java.lang.String>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.util.Set deps
         0: .line 442
            aload 0 /* this */
            aload 1 /* deps */
            putfield org.graalvm.component.installer.model.ComponentInfo.dependencies:Ljava/util/Set;
         1: .line 443
            return
        end local 1 // java.util.Set deps
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1  deps  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
      Name  Flags
      deps  

  public java.util.Set<java.lang.String> getDependencies();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 446
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.dependencies:Ljava/util/Set;
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public boolean isInstalled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 453
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.infoPath:Ljava/lang/String;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public java.lang.String getTag();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 457
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.tag:Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public void setTag(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // java.lang.String tag
         0: .line 467
            aload 0 /* this */
            aload 1 /* tag */
            putfield org.graalvm.component.installer.model.ComponentInfo.tag:Ljava/lang/String;
         1: .line 468
            return
        end local 1 // java.lang.String tag
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1   tag  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      tag   

  public int getPriority();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 471
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.priority:I
            ireturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public void setPriority(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // int priority
         0: .line 475
            aload 0 /* this */
            iload 1 /* priority */
            putfield org.graalvm.component.installer.model.ComponentInfo.priority:I
         1: .line 476
            return
        end local 1 // int priority
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    2     1  priority  I
    MethodParameters:
          Name  Flags
      priority  

  public org.graalvm.component.installer.model.StabilityLevel getStability();
    descriptor: ()Lorg/graalvm/component/installer/model/StabilityLevel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
         0: .line 479
            aload 0 /* this */
            getfield org.graalvm.component.installer.model.ComponentInfo.stability:Lorg/graalvm/component/installer/model/StabilityLevel;
            areturn
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;

  public void setStability(org.graalvm.component.installer.model.StabilityLevel);
    descriptor: (Lorg/graalvm/component/installer/model/StabilityLevel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.model.ComponentInfo this
        start local 1 // org.graalvm.component.installer.model.StabilityLevel stab
         0: .line 483
            aload 1 /* stab */
            ifnonnull 3
         1: .line 484
            aload 0 /* this */
            getstatic org.graalvm.component.installer.model.StabilityLevel.Undefined:Lorg/graalvm/component/installer/model/StabilityLevel;
            putfield org.graalvm.component.installer.model.ComponentInfo.stability:Lorg/graalvm/component/installer/model/StabilityLevel;
         2: .line 485
            goto 4
         3: .line 486
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* stab */
            putfield org.graalvm.component.installer.model.ComponentInfo.stability:Lorg/graalvm/component/installer/model/StabilityLevel;
         4: .line 488
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.component.installer.model.StabilityLevel stab
        end local 0 // org.graalvm.component.installer.model.ComponentInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/component/installer/model/ComponentInfo;
            0    5     1  stab  Lorg/graalvm/component/installer/model/StabilityLevel;
    MethodParameters:
      Name  Flags
      stab  
}
SourceFile: "ComponentInfo.java"
NestMembers:
  org.graalvm.component.installer.model.ComponentInfo$1  org.graalvm.component.installer.model.ComponentInfo$2
InnerClasses:
  org.graalvm.component.installer.model.ComponentInfo$1
  org.graalvm.component.installer.model.ComponentInfo$2