public abstract class com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum<T extends com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum<T>>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum
  super_class: java.lang.Object
{
  private static java.util.concurrent.ConcurrentMap<java.lang.String, ? extends com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum<?>> valuesByName;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;+Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum<*>;>;

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

  private java.lang.Class<T> clazz;
    descriptor: Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/Class<TT;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 20
            aconst_null
            putstatic com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.valuesByName:Ljava/util/concurrent/ConcurrentMap;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum this
         0: .line 19
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum<TT;>;

  private static java.lang.String uniqueKey(java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Class clazz
        start local 1 // java.lang.String name
         0: .line 26
            aload 0 /* clazz */
            ifnull 2
         1: .line 27
            new java.lang.StringBuilder
            dup
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()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 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            areturn
         2: .line 29
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  clazz  Ljava/lang/Class<*>;
            0    3     1   name  Ljava/lang/String;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/String;
    MethodParameters:
       Name  Flags
      clazz  
      name   

  protected T withNameValue(java.lang.String, T, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum;Ljava/lang/Class;)Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum this
        start local 1 // java.lang.String name
        start local 2 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum value
        start local 3 // java.lang.Class clazz
         0: .line 35
            getstatic com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.valuesByName:Ljava/util/concurrent/ConcurrentMap;
            ifnonnull 2
         1: .line 36
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putstatic com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.valuesByName:Ljava/util/concurrent/ConcurrentMap;
         2: .line 38
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            putfield com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.name:Ljava/lang/String;
         3: .line 39
            aload 0 /* this */
            aload 3 /* clazz */
            putfield com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.clazz:Ljava/lang/Class;
         4: .line 40
            getstatic com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.valuesByName:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* clazz */
            aload 1 /* name */
            invokestatic com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.uniqueKey:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* value */
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 41
            aload 0 /* this */
            areturn
        end local 3 // java.lang.Class clazz
        end local 2 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum value
        end local 1 // java.lang.String name
        end local 0 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum<TT;>;
            0    6     1   name  Ljava/lang/String;
            0    6     2  value  TT;
            0    6     3  clazz  Ljava/lang/Class<TT;>;
    Signature: (Ljava/lang/String;TT;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
       Name  Flags
      name   
      value  
      clazz  

  protected static <T extends com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum<T>> T fromString(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.Class clazz
         0: .line 46
            aload 0 /* name */
            ifnonnull 2
         1: .line 47
            aconst_null
            areturn
         2: .line 48
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.valuesByName:Ljava/util/concurrent/ConcurrentMap;
            ifnull 6
         3: .line 49
            getstatic com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.valuesByName:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* clazz */
            aload 0 /* name */
            invokestatic com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.uniqueKey:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum
            astore 2 /* value */
        start local 2 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum value
         4: .line 50
            aload 2 /* value */
            ifnull 6
         5: .line 51
            aload 2 /* value */
            areturn
        end local 2 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum value
         6: .line 56
      StackMap locals:
      StackMap stack:
            aload 1 /* clazz */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum
            astore 2 /* value */
        start local 2 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum value
         7: .line 57
            aload 2 /* value */
            aload 0 /* name */
            aload 2 /* value */
            aload 1 /* clazz */
            invokevirtual com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.withNameValue:(Ljava/lang/String;Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum;Ljava/lang/Class;)Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum;
         8: areturn
        end local 2 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum value
         9: .line 58
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
            pop
        10: .line 59
            aconst_null
            areturn
        11: .line 60
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
        12: .line 61
            aconst_null
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   name  Ljava/lang/String;
            0   13     1  clazz  Ljava/lang/Class<TT;>;
            4    6     2  value  TT;
            7    9     2  value  TT;
      Exception table:
        from    to  target  type
           6     8       9  Class java.lang.InstantiationException
           6     8      11  Class java.lang.IllegalAccessException
    Signature: <T:Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum<TT;>;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
       Name  Flags
      name   
      clazz  

  protected static <T extends com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum<T>> java.util.Collection<T> values(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/util/Collection;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 68
            new java.util.ArrayList
            dup
            getstatic com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.valuesByName:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 1 /* values */
        start local 1 // java.util.Collection values
         1: .line 70
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* list */
        start local 2 // java.util.Collection list
         2: .line 71
            aload 1 /* values */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: java.lang.Class java.util.Collection java.util.Collection top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum
            astore 3 /* value */
        start local 3 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum value
         4: .line 72
            aload 3 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 0 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 6
         5: .line 73
            aload 2 /* list */
            aload 3 /* value */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum value
         6: .line 71
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 77
            aload 2 /* list */
            areturn
        end local 2 // java.util.Collection list
        end local 1 // java.util.Collection values
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0   clazz  Ljava/lang/Class<TT;>;
            1    8     1  values  Ljava/util/Collection<+Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum<*>;>;
            2    8     2    list  Ljava/util/Collection<TT;>;
            4    6     3   value  Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum<*>;
    Signature: <T:Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum<TT;>;>(Ljava/lang/Class<TT;>;)Ljava/util/Collection<TT;>;
    MethodParameters:
       Name  Flags
      clazz  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum this
         0: .line 82
            aload 0 /* this */
            getfield com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.name:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum<TT;>;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum this
         0: .line 87
            aload 0 /* this */
            getfield com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.clazz:Ljava/lang/Class;
            aload 0 /* this */
            getfield com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.name:Ljava/lang/String;
            invokestatic com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.uniqueKey:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ireturn
        end local 0 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum<TT;>;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum this
        start local 1 // java.lang.Object obj
         0: .line 93
            aload 1 /* obj */
            ifnonnull 2
         1: .line 94
            iconst_0
            ireturn
         2: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.clazz:Ljava/lang/Class;
            aload 1 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 4
         3: .line 96
            iconst_0
            ireturn
         4: .line 97
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            aload 0 /* this */
            if_acmpne 6
         5: .line 98
            iconst_1
            ireturn
         6: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.name:Ljava/lang/String;
            ifnonnull 9
         7: .line 100
            aload 1 /* obj */
            checkcast com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum
            getfield com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.name:Ljava/lang/String;
            ifnonnull 8
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
         9: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.name:Ljava/lang/String;
            aload 1 /* obj */
            checkcast com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum
            getfield com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum.name:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // com.microsoft.azure.management.resources.fluentcore.arm.ExpandableStringEnum this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum<TT;>;
            0   10     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   
}
Signature: <T:Lcom/microsoft/azure/management/resources/fluentcore/arm/ExpandableStringEnum<TT;>;>Ljava/lang/Object;
SourceFile: "ExpandableStringEnum.java"