public class org.hibernate.mapping.Index implements org.hibernate.mapping.RelationalModel, org.hibernate.boot.model.relational.Exportable, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.mapping.Index
  super_class: java.lang.Object
{
  private org.hibernate.mapping.Table table;
    descriptor: Lorg/hibernate/mapping/Table;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<org.hibernate.mapping.Column> columns;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/hibernate/mapping/Column;>;

  private java.util.Map<org.hibernate.mapping.Column, java.lang.String> columnOrderMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lorg/hibernate/mapping/Column;Ljava/lang/String;>;

  private org.hibernate.boot.model.naming.Identifier name;
    descriptor: Lorg/hibernate/boot/model/naming/Identifier;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Index this
         0: .line 29
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 31
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.mapping.Index.columns:Ljava/util/List;
         2: .line 32
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.mapping.Index.columnOrderMap:Ljava/util/Map;
         3: .line 29
            return
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/mapping/Index;

  public java.lang.String sqlCreateString(org.hibernate.dialect.Dialect, org.hibernate.engine.spi.Mapping, java.lang.String, java.lang.String);
    descriptor: (Lorg/hibernate/dialect/Dialect;Lorg/hibernate/engine/spi/Mapping;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // org.hibernate.mapping.Index this
        start local 1 // org.hibernate.dialect.Dialect dialect
        start local 2 // org.hibernate.engine.spi.Mapping mapping
        start local 3 // java.lang.String defaultCatalog
        start local 4 // java.lang.String defaultSchema
         0: .line 38
            aload 1 /* dialect */
         1: .line 39
            aload 0 /* this */
            aload 1 /* dialect */
            invokevirtual org.hibernate.mapping.Index.getQuotedName:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
         2: .line 40
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Index.getTable:()Lorg/hibernate/mapping/Table;
         3: .line 41
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Index.getColumnIterator:()Ljava/util/Iterator;
         4: .line 42
            aload 0 /* this */
            getfield org.hibernate.mapping.Index.columnOrderMap:Ljava/util/Map;
         5: .line 43
            iconst_0
         6: .line 44
            aload 3 /* defaultCatalog */
         7: .line 45
            aload 4 /* defaultSchema */
         8: .line 37
            invokestatic org.hibernate.mapping.Index.buildSqlCreateIndexString:(Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Lorg/hibernate/mapping/Table;Ljava/util/Iterator;Ljava/util/Map;ZLjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 4 // java.lang.String defaultSchema
        end local 3 // java.lang.String defaultCatalog
        end local 2 // org.hibernate.engine.spi.Mapping mapping
        end local 1 // org.hibernate.dialect.Dialect dialect
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/hibernate/mapping/Index;
            0    9     1         dialect  Lorg/hibernate/dialect/Dialect;
            0    9     2         mapping  Lorg/hibernate/engine/spi/Mapping;
            0    9     3  defaultCatalog  Ljava/lang/String;
            0    9     4   defaultSchema  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                Name  Flags
      dialect         
      mapping         
      defaultCatalog  
      defaultSchema   

  public static java.lang.String buildSqlDropIndexString(org.hibernate.dialect.Dialect, org.hibernate.mapping.Table, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lorg/hibernate/dialect/Dialect;Lorg/hibernate/mapping/Table;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.hibernate.dialect.Dialect dialect
        start local 1 // org.hibernate.mapping.Table table
        start local 2 // java.lang.String name
        start local 3 // java.lang.String defaultCatalog
        start local 4 // java.lang.String defaultSchema
         0: .line 55
            aload 2 /* name */
            aload 1 /* table */
            aload 0 /* dialect */
            aload 3 /* defaultCatalog */
            aload 4 /* defaultSchema */
            invokevirtual org.hibernate.mapping.Table.getQualifiedName:(Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokestatic org.hibernate.mapping.Index.buildSqlDropIndexString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 4 // java.lang.String defaultSchema
        end local 3 // java.lang.String defaultCatalog
        end local 2 // java.lang.String name
        end local 1 // org.hibernate.mapping.Table table
        end local 0 // org.hibernate.dialect.Dialect dialect
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0         dialect  Lorg/hibernate/dialect/Dialect;
            0    1     1           table  Lorg/hibernate/mapping/Table;
            0    1     2            name  Ljava/lang/String;
            0    1     3  defaultCatalog  Ljava/lang/String;
            0    1     4   defaultSchema  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      dialect         
      table           
      name            
      defaultCatalog  
      defaultSchema   

  public static java.lang.String buildSqlDropIndexString(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.String tableName
         0: .line 61
            new java.lang.StringBuilder
            dup
            ldc "drop index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* tableName */
            aload 0 /* name */
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String tableName
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       name  Ljava/lang/String;
            0    1     1  tableName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      name       
      tableName  

  public static java.lang.String buildSqlCreateIndexString(org.hibernate.dialect.Dialect, java.lang.String, org.hibernate.mapping.Table, java.util.Iterator<org.hibernate.mapping.Column>, java.util.Map<org.hibernate.mapping.Column, java.lang.String>, boolean, java.lang.String, java.lang.String);
    descriptor: (Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Lorg/hibernate/mapping/Table;Ljava/util/Iterator;Ljava/util/Map;ZLjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=8
        start local 0 // org.hibernate.dialect.Dialect dialect
        start local 1 // java.lang.String name
        start local 2 // org.hibernate.mapping.Table table
        start local 3 // java.util.Iterator columns
        start local 4 // java.util.Map columnOrderMap
        start local 5 // boolean unique
        start local 6 // java.lang.String defaultCatalog
        start local 7 // java.lang.String defaultSchema
         0: .line 74
            aload 0 /* dialect */
         1: .line 75
            aload 1 /* name */
         2: .line 76
            aload 2 /* table */
            aload 0 /* dialect */
            aload 6 /* defaultCatalog */
            aload 7 /* defaultSchema */
            invokevirtual org.hibernate.mapping.Table.getQualifiedName:(Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
         3: .line 77
            aload 3 /* columns */
         4: .line 78
            aload 4 /* columnOrderMap */
         5: .line 79
            iload 5 /* unique */
         6: .line 73
            invokestatic org.hibernate.mapping.Index.buildSqlCreateIndexString:(Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;Ljava/util/Iterator;Ljava/util/Map;Z)Ljava/lang/String;
            areturn
        end local 7 // java.lang.String defaultSchema
        end local 6 // java.lang.String defaultCatalog
        end local 5 // boolean unique
        end local 4 // java.util.Map columnOrderMap
        end local 3 // java.util.Iterator columns
        end local 2 // org.hibernate.mapping.Table table
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.dialect.Dialect dialect
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0         dialect  Lorg/hibernate/dialect/Dialect;
            0    7     1            name  Ljava/lang/String;
            0    7     2           table  Lorg/hibernate/mapping/Table;
            0    7     3         columns  Ljava/util/Iterator<Lorg/hibernate/mapping/Column;>;
            0    7     4  columnOrderMap  Ljava/util/Map<Lorg/hibernate/mapping/Column;Ljava/lang/String;>;
            0    7     5          unique  Z
            0    7     6  defaultCatalog  Ljava/lang/String;
            0    7     7   defaultSchema  Ljava/lang/String;
    Signature: (Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Lorg/hibernate/mapping/Table;Ljava/util/Iterator<Lorg/hibernate/mapping/Column;>;Ljava/util/Map<Lorg/hibernate/mapping/Column;Ljava/lang/String;>;ZLjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    MethodParameters:
                Name  Flags
      dialect         
      name            
      table           
      columns         
      columnOrderMap  
      unique          
      defaultCatalog  
      defaultSchema   

  public static java.lang.String buildSqlCreateIndexString(org.hibernate.dialect.Dialect, java.lang.String, java.lang.String, java.util.Iterator<org.hibernate.mapping.Column>, java.util.Map<org.hibernate.mapping.Column, java.lang.String>, boolean);
    descriptor: (Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;Ljava/util/Iterator;Ljava/util/Map;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=6
        start local 0 // org.hibernate.dialect.Dialect dialect
        start local 1 // java.lang.String name
        start local 2 // java.lang.String tableName
        start local 3 // java.util.Iterator columns
        start local 4 // java.util.Map columnOrderMap
        start local 5 // boolean unique
         0: .line 90
            new java.lang.StringBuilder
            dup
            ldc "create"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 91
            iload 5 /* unique */
            ifeq 2
            ldc " unique"
            goto 3
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         2: ldc ""
      StackMap locals: org.hibernate.dialect.Dialect java.lang.String java.lang.String java.util.Iterator java.util.Map int
      StackMap stack: java.lang.StringBuilder java.lang.String
         3: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 92
            ldc " index "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 93
            aload 0 /* dialect */
            invokevirtual org.hibernate.dialect.Dialect.qualifyIndexName:()Z
            ifeq 6
            aload 1 /* name */
            goto 7
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         6: aload 1 /* name */
            invokestatic org.hibernate.internal.util.StringHelper.unqualify:(Ljava/lang/String;)Ljava/lang/String;
      StackMap locals: org.hibernate.dialect.Dialect java.lang.String java.lang.String java.util.Iterator java.util.Map int
      StackMap stack: java.lang.StringBuilder java.lang.String
         7: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 94
            ldc " on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 95
            aload 2 /* tableName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 96
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 90
            astore 6 /* buf */
        start local 6 // java.lang.StringBuilder buf
        12: .line 97
            goto 19
        13: .line 98
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 3 /* columns */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            astore 7 /* column */
        start local 7 // org.hibernate.mapping.Column column
        14: .line 99
            aload 6 /* buf */
            aload 7 /* column */
            aload 0 /* dialect */
            invokevirtual org.hibernate.mapping.Column.getQuotedName:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 100
            aload 4 /* columnOrderMap */
            aload 7 /* column */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 101
            aload 6 /* buf */
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* columnOrderMap */
            aload 7 /* column */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 103
      StackMap locals: org.hibernate.mapping.Column
      StackMap stack:
            aload 3 /* columns */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 19
        18: .line 104
            aload 6 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 7 // org.hibernate.mapping.Column column
        19: .line 97
      StackMap locals:
      StackMap stack:
            aload 3 /* columns */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        20: .line 107
            aload 6 /* buf */
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 108
            aload 6 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.lang.StringBuilder buf
        end local 5 // boolean unique
        end local 4 // java.util.Map columnOrderMap
        end local 3 // java.util.Iterator columns
        end local 2 // java.lang.String tableName
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.dialect.Dialect dialect
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0         dialect  Lorg/hibernate/dialect/Dialect;
            0   22     1            name  Ljava/lang/String;
            0   22     2       tableName  Ljava/lang/String;
            0   22     3         columns  Ljava/util/Iterator<Lorg/hibernate/mapping/Column;>;
            0   22     4  columnOrderMap  Ljava/util/Map<Lorg/hibernate/mapping/Column;Ljava/lang/String;>;
            0   22     5          unique  Z
           12   22     6             buf  Ljava/lang/StringBuilder;
           14   19     7          column  Lorg/hibernate/mapping/Column;
    Signature: (Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;Ljava/util/Iterator<Lorg/hibernate/mapping/Column;>;Ljava/util/Map<Lorg/hibernate/mapping/Column;Ljava/lang/String;>;Z)Ljava/lang/String;
    MethodParameters:
                Name  Flags
      dialect         
      name            
      tableName       
      columns         
      columnOrderMap  
      unique          

  public static java.lang.String buildSqlCreateIndexString(org.hibernate.dialect.Dialect, java.lang.String, org.hibernate.mapping.Table, java.util.Iterator<org.hibernate.mapping.Column>, boolean, java.lang.String, java.lang.String);
    descriptor: (Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Lorg/hibernate/mapping/Table;Ljava/util/Iterator;ZLjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // org.hibernate.dialect.Dialect dialect
        start local 1 // java.lang.String name
        start local 2 // org.hibernate.mapping.Table table
        start local 3 // java.util.Iterator columns
        start local 4 // boolean unique
        start local 5 // java.lang.String defaultCatalog
        start local 6 // java.lang.String defaultSchema
         0: .line 120
            aload 0 /* dialect */
         1: .line 121
            aload 1 /* name */
         2: .line 122
            aload 2 /* table */
         3: .line 123
            aload 3 /* columns */
         4: .line 124
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
         5: .line 125
            iload 4 /* unique */
         6: .line 126
            aload 5 /* defaultCatalog */
         7: .line 127
            aload 6 /* defaultSchema */
         8: .line 119
            invokestatic org.hibernate.mapping.Index.buildSqlCreateIndexString:(Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Lorg/hibernate/mapping/Table;Ljava/util/Iterator;Ljava/util/Map;ZLjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 6 // java.lang.String defaultSchema
        end local 5 // java.lang.String defaultCatalog
        end local 4 // boolean unique
        end local 3 // java.util.Iterator columns
        end local 2 // org.hibernate.mapping.Table table
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.dialect.Dialect dialect
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0         dialect  Lorg/hibernate/dialect/Dialect;
            0    9     1            name  Ljava/lang/String;
            0    9     2           table  Lorg/hibernate/mapping/Table;
            0    9     3         columns  Ljava/util/Iterator<Lorg/hibernate/mapping/Column;>;
            0    9     4          unique  Z
            0    9     5  defaultCatalog  Ljava/lang/String;
            0    9     6   defaultSchema  Ljava/lang/String;
    Signature: (Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Lorg/hibernate/mapping/Table;Ljava/util/Iterator<Lorg/hibernate/mapping/Column;>;ZLjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    MethodParameters:
                Name  Flags
      dialect         
      name            
      table           
      columns         
      unique          
      defaultCatalog  
      defaultSchema   

  public static java.lang.String buildSqlCreateIndexString(org.hibernate.dialect.Dialect, java.lang.String, org.hibernate.mapping.Table, java.util.Iterator<org.hibernate.mapping.Column>, java.util.Map<org.hibernate.mapping.Column, java.lang.String>, boolean, org.hibernate.boot.Metadata);
    descriptor: (Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Lorg/hibernate/mapping/Table;Ljava/util/Iterator;Ljava/util/Map;ZLorg/hibernate/boot/Metadata;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=7
        start local 0 // org.hibernate.dialect.Dialect dialect
        start local 1 // java.lang.String name
        start local 2 // org.hibernate.mapping.Table table
        start local 3 // java.util.Iterator columns
        start local 4 // java.util.Map columnOrderMap
        start local 5 // boolean unique
        start local 6 // org.hibernate.boot.Metadata metadata
         0: .line 139
            aload 6 /* metadata */
            invokeinterface org.hibernate.boot.Metadata.getDatabase:()Lorg/hibernate/boot/model/relational/Database;
            invokevirtual org.hibernate.boot.model.relational.Database.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            astore 7 /* jdbcEnvironment */
        start local 7 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
         1: .line 141
            aload 7 /* jdbcEnvironment */
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getQualifiedObjectNameFormatter:()Lorg/hibernate/engine/jdbc/env/spi/QualifiedObjectNameFormatter;
         2: .line 142
            aload 2 /* table */
            invokevirtual org.hibernate.mapping.Table.getQualifiedTableName:()Lorg/hibernate/boot/model/relational/QualifiedTableName;
         3: .line 143
            aload 0 /* dialect */
         4: .line 141
            invokeinterface org.hibernate.engine.jdbc.env.spi.QualifiedObjectNameFormatter.format:(Lorg/hibernate/boot/model/relational/QualifiedTableName;Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            astore 8 /* tableName */
        start local 8 // java.lang.String tableName
         5: .line 147
            aload 0 /* dialect */
         6: .line 148
            aload 1 /* name */
         7: .line 149
            aload 8 /* tableName */
         8: .line 150
            aload 3 /* columns */
         9: .line 151
            aload 4 /* columnOrderMap */
        10: .line 152
            iload 5 /* unique */
        11: .line 146
            invokestatic org.hibernate.mapping.Index.buildSqlCreateIndexString:(Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;Ljava/util/Iterator;Ljava/util/Map;Z)Ljava/lang/String;
            areturn
        end local 8 // java.lang.String tableName
        end local 7 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
        end local 6 // org.hibernate.boot.Metadata metadata
        end local 5 // boolean unique
        end local 4 // java.util.Map columnOrderMap
        end local 3 // java.util.Iterator columns
        end local 2 // org.hibernate.mapping.Table table
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.dialect.Dialect dialect
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0          dialect  Lorg/hibernate/dialect/Dialect;
            0   12     1             name  Ljava/lang/String;
            0   12     2            table  Lorg/hibernate/mapping/Table;
            0   12     3          columns  Ljava/util/Iterator<Lorg/hibernate/mapping/Column;>;
            0   12     4   columnOrderMap  Ljava/util/Map<Lorg/hibernate/mapping/Column;Ljava/lang/String;>;
            0   12     5           unique  Z
            0   12     6         metadata  Lorg/hibernate/boot/Metadata;
            1   12     7  jdbcEnvironment  Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            5   12     8        tableName  Ljava/lang/String;
    Signature: (Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Lorg/hibernate/mapping/Table;Ljava/util/Iterator<Lorg/hibernate/mapping/Column;>;Ljava/util/Map<Lorg/hibernate/mapping/Column;Ljava/lang/String;>;ZLorg/hibernate/boot/Metadata;)Ljava/lang/String;
    MethodParameters:
                Name  Flags
      dialect         
      name            
      table           
      columns         
      columnOrderMap  
      unique          
      metadata        

  public java.lang.String sqlConstraintString(org.hibernate.dialect.Dialect);
    descriptor: (Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hibernate.mapping.Index this
        start local 1 // org.hibernate.dialect.Dialect dialect
         0: .line 159
            new java.lang.StringBuilder
            dup
            ldc " index ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         1: .line 160
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Index.getColumnIterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         2: .line 161
            goto 6
         3: .line 162
      StackMap locals: java.lang.StringBuilder java.util.Iterator
      StackMap stack:
            aload 2 /* buf */
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            aload 1 /* dialect */
            invokevirtual org.hibernate.mapping.Column.getQuotedName:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 163
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 6
         5: .line 164
            aload 2 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 161
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 167
            aload 2 /* buf */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.util.Iterator iter
        end local 2 // java.lang.StringBuilder buf
        end local 1 // org.hibernate.dialect.Dialect dialect
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/hibernate/mapping/Index;
            0    8     1  dialect  Lorg/hibernate/dialect/Dialect;
            1    8     2      buf  Ljava/lang/StringBuilder;
            2    8     3     iter  Ljava/util/Iterator;
    MethodParameters:
         Name  Flags
      dialect  

  public java.lang.String sqlDropString(org.hibernate.dialect.Dialect, java.lang.String, java.lang.String);
    descriptor: (Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.hibernate.mapping.Index this
        start local 1 // org.hibernate.dialect.Dialect dialect
        start local 2 // java.lang.String defaultCatalog
        start local 3 // java.lang.String defaultSchema
         0: .line 172
            new java.lang.StringBuilder
            dup
            ldc "drop index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 174
            aload 0 /* this */
            getfield org.hibernate.mapping.Index.table:Lorg/hibernate/mapping/Table;
            aload 1 /* dialect */
            aload 2 /* defaultCatalog */
            aload 3 /* defaultSchema */
            invokevirtual org.hibernate.mapping.Table.getQualifiedName:(Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
         2: .line 175
            aload 0 /* this */
            aload 1 /* dialect */
            invokevirtual org.hibernate.mapping.Index.getQuotedName:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
         3: .line 173
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 172
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String defaultSchema
        end local 2 // java.lang.String defaultCatalog
        end local 1 // org.hibernate.dialect.Dialect dialect
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/hibernate/mapping/Index;
            0    5     1         dialect  Lorg/hibernate/dialect/Dialect;
            0    5     2  defaultCatalog  Ljava/lang/String;
            0    5     3   defaultSchema  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      dialect         
      defaultCatalog  
      defaultSchema   

  public org.hibernate.mapping.Table getTable();
    descriptor: ()Lorg/hibernate/mapping/Table;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Index this
         0: .line 180
            aload 0 /* this */
            getfield org.hibernate.mapping.Index.table:Lorg/hibernate/mapping/Table;
            areturn
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Index;

  public void setTable(org.hibernate.mapping.Table);
    descriptor: (Lorg/hibernate/mapping/Table;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Index this
        start local 1 // org.hibernate.mapping.Table table
         0: .line 184
            aload 0 /* this */
            aload 1 /* table */
            putfield org.hibernate.mapping.Index.table:Lorg/hibernate/mapping/Table;
         1: .line 185
            return
        end local 1 // org.hibernate.mapping.Table table
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hibernate/mapping/Index;
            0    2     1  table  Lorg/hibernate/mapping/Table;
    MethodParameters:
       Name  Flags
      table  

  public int getColumnSpan();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Index this
         0: .line 188
            aload 0 /* this */
            getfield org.hibernate.mapping.Index.columns:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Index;

  public java.util.Iterator<org.hibernate.mapping.Column> getColumnIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Index this
         0: .line 192
            aload 0 /* this */
            getfield org.hibernate.mapping.Index.columns:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Index;
    Signature: ()Ljava/util/Iterator<Lorg/hibernate/mapping/Column;>;

  public java.util.Map<org.hibernate.mapping.Column, java.lang.String> getColumnOrderMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Index this
         0: .line 196
            aload 0 /* this */
            getfield org.hibernate.mapping.Index.columnOrderMap:Ljava/util/Map;
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Index;
    Signature: ()Ljava/util/Map<Lorg/hibernate/mapping/Column;Ljava/lang/String;>;

  public void addColumn(org.hibernate.mapping.Column);
    descriptor: (Lorg/hibernate/mapping/Column;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Index this
        start local 1 // org.hibernate.mapping.Column column
         0: .line 200
            aload 0 /* this */
            getfield org.hibernate.mapping.Index.columns:Ljava/util/List;
            aload 1 /* column */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 201
            aload 0 /* this */
            getfield org.hibernate.mapping.Index.columns:Ljava/util/List;
            aload 1 /* column */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 203
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hibernate.mapping.Column column
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/hibernate/mapping/Index;
            0    3     1  column  Lorg/hibernate/mapping/Column;
    MethodParameters:
        Name  Flags
      column  

  public void addColumn(org.hibernate.mapping.Column, java.lang.String);
    descriptor: (Lorg/hibernate/mapping/Column;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.mapping.Index this
        start local 1 // org.hibernate.mapping.Column column
        start local 2 // java.lang.String order
         0: .line 206
            aload 0 /* this */
            aload 1 /* column */
            invokevirtual org.hibernate.mapping.Index.addColumn:(Lorg/hibernate/mapping/Column;)V
         1: .line 207
            aload 2 /* order */
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 208
            aload 0 /* this */
            getfield org.hibernate.mapping.Index.columnOrderMap:Ljava/util/Map;
            aload 1 /* column */
            aload 2 /* order */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 210
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String order
        end local 1 // org.hibernate.mapping.Column column
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/hibernate/mapping/Index;
            0    4     1  column  Lorg/hibernate/mapping/Column;
            0    4     2   order  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      column  
      order   

  public void addColumns(java.util.Iterator);
    descriptor: (Ljava/util/Iterator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Index this
        start local 1 // java.util.Iterator extraColumns
         0: .line 213
            goto 2
         1: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* extraColumns */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            invokevirtual org.hibernate.mapping.Index.addColumn:(Lorg/hibernate/mapping/Column;)V
         2: .line 213
      StackMap locals:
      StackMap stack:
            aload 1 /* extraColumns */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         3: .line 216
            return
        end local 1 // java.util.Iterator extraColumns
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/hibernate/mapping/Index;
            0    4     1  extraColumns  Ljava/util/Iterator;
    MethodParameters:
              Name  Flags
      extraColumns  

  public boolean containsColumn(org.hibernate.mapping.Column);
    descriptor: (Lorg/hibernate/mapping/Column;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Index this
        start local 1 // org.hibernate.mapping.Column column
         0: .line 219
            aload 0 /* this */
            getfield org.hibernate.mapping.Index.columns:Ljava/util/List;
            aload 1 /* column */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.hibernate.mapping.Column column
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hibernate/mapping/Index;
            0    1     1  column  Lorg/hibernate/mapping/Column;
    MethodParameters:
        Name  Flags
      column  

  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.hibernate.mapping.Index this
         0: .line 223
            aload 0 /* this */
            getfield org.hibernate.mapping.Index.name:Lorg/hibernate/boot/model/naming/Identifier;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.hibernate.mapping.Index.name:Lorg/hibernate/boot/model/naming/Identifier;
            invokevirtual org.hibernate.boot.model.naming.Identifier.getText:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/mapping/Index;

  public void setName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Index this
        start local 1 // java.lang.String name
         0: .line 227
            aload 0 /* this */
            aload 1 /* name */
            invokestatic org.hibernate.boot.model.naming.Identifier.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
            putfield org.hibernate.mapping.Index.name:Lorg/hibernate/boot/model/naming/Identifier;
         1: .line 228
            return
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/mapping/Index;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String getQuotedName(org.hibernate.dialect.Dialect);
    descriptor: (Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Index this
        start local 1 // org.hibernate.dialect.Dialect dialect
         0: .line 231
            aload 0 /* this */
            getfield org.hibernate.mapping.Index.name:Lorg/hibernate/boot/model/naming/Identifier;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.hibernate.mapping.Index.name:Lorg/hibernate/boot/model/naming/Identifier;
            aload 1 /* dialect */
            invokevirtual org.hibernate.boot.model.naming.Identifier.render:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 1 // org.hibernate.dialect.Dialect dialect
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/hibernate/mapping/Index;
            0    3     1  dialect  Lorg/hibernate/dialect/Dialect;
    MethodParameters:
         Name  Flags
      dialect  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Index this
         0: .line 236
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            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 0 /* this */
            invokevirtual org.hibernate.mapping.Index.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Index;

  public java.lang.String getExportIdentifier();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Index this
         0: .line 241
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Index.getTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.mapping.Table.getName:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "IDX-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Index.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.Index this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Index;
}
SourceFile: "Index.java"