public class io.ebeaninternal.dbmigration.model.ModelContainer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.ebeaninternal.dbmigration.model.ModelContainer
  super_class: java.lang.Object
{
  private final java.util.Map<java.lang.String, io.ebeaninternal.dbmigration.model.MTable> tables;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/ebeaninternal/dbmigration/model/MTable;>;

  private final java.util.Map<java.lang.String, io.ebeaninternal.dbmigration.model.MIndex> indexes;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/ebeaninternal/dbmigration/model/MIndex;>;

  private final io.ebeaninternal.dbmigration.model.PendingDrops pendingDrops;
    descriptor: Lio/ebeaninternal/dbmigration/model/PendingDrops;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<io.ebeaninternal.dbmigration.model.MTable> partitionedTables;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lio/ebeaninternal/dbmigration/model/MTable;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 38
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
         2: .line 43
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield io.ebeaninternal.dbmigration.model.ModelContainer.indexes:Ljava/util/Map;
         3: .line 45
            aload 0 /* this */
            new io.ebeaninternal.dbmigration.model.PendingDrops
            dup
            invokespecial io.ebeaninternal.dbmigration.model.PendingDrops.<init>:()V
            putfield io.ebeaninternal.dbmigration.model.ModelContainer.pendingDrops:Lio/ebeaninternal/dbmigration/model/PendingDrops;
         4: .line 47
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.ebeaninternal.dbmigration.model.ModelContainer.partitionedTables:Ljava/util/List;
         5: .line 50
            return
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/ebeaninternal/dbmigration/model/ModelContainer;

  public boolean isTablePartitioning();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
         0: .line 56
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.partitionedTables:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/ebeaninternal/dbmigration/model/ModelContainer;

  public java.util.List<io.ebeaninternal.dbmigration.model.MTable> getPartitionedTables();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
         0: .line 63
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.partitionedTables:Ljava/util/List;
            areturn
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
    Signature: ()Ljava/util/List<Lio/ebeaninternal/dbmigration/model/MTable;>;

  public void adjustDraftReferences();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
         0: .line 70
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: io.ebeaninternal.dbmigration.model.ModelContainer top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MTable
            astore 1 /* table */
        start local 1 // io.ebeaninternal.dbmigration.model.MTable table
         2: .line 71
            aload 1 /* table */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.isDraft:()Z
            ifeq 4
         3: .line 72
            aload 1 /* table */
            aload 0 /* this */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.adjustReferences:(Lio/ebeaninternal/dbmigration/model/ModelContainer;)V
        end local 1 // io.ebeaninternal.dbmigration.model.MTable table
         4: .line 70
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 75
            return
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            2    4     1  table  Lio/ebeaninternal/dbmigration/model/MTable;

  public java.util.Map<java.lang.String, io.ebeaninternal.dbmigration.model.MTable> getTables();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
         0: .line 81
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
            areturn
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lio/ebeaninternal/dbmigration/model/MTable;>;

  public java.util.Map<java.lang.String, io.ebeaninternal.dbmigration.model.MIndex> getIndexes();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
         0: .line 88
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.indexes:Ljava/util/Map;
            areturn
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lio/ebeaninternal/dbmigration/model/MIndex;>;

  public io.ebeaninternal.dbmigration.model.MTable getTable(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/ebeaninternal/dbmigration/model/MTable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // java.lang.String tableName
         0: .line 95
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
            aload 1 /* tableName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MTable
            areturn
        end local 1 // java.lang.String tableName
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    1     1  tableName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      tableName  

  public io.ebeaninternal.dbmigration.model.MIndex getIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/ebeaninternal/dbmigration/model/MIndex;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // java.lang.String indexName
         0: .line 102
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.indexes:Ljava/util/Map;
            aload 1 /* indexName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MIndex
            areturn
        end local 1 // java.lang.String indexName
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    1     1  indexName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      indexName  

  public void apply(io.ebeaninternal.dbmigration.migration.Migration, io.ebeaninternal.dbmigration.model.MigrationVersion);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/Migration;Lio/ebeaninternal/dbmigration/model/MigrationVersion;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.Migration migration
        start local 2 // io.ebeaninternal.dbmigration.model.MigrationVersion version
         0: .line 110
            aload 1 /* migration */
            invokevirtual io.ebeaninternal.dbmigration.migration.Migration.getChangeSet:()Ljava/util/List;
            astore 3 /* changeSets */
        start local 3 // java.util.List changeSets
         1: .line 111
            aload 3 /* changeSets */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 13
      StackMap locals: io.ebeaninternal.dbmigration.model.ModelContainer io.ebeaninternal.dbmigration.migration.Migration io.ebeaninternal.dbmigration.model.MigrationVersion java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.migration.ChangeSet
            astore 4 /* changeSet */
        start local 4 // io.ebeaninternal.dbmigration.migration.ChangeSet changeSet
         3: .line 112
            aload 4 /* changeSet */
            invokevirtual io.ebeaninternal.dbmigration.migration.ChangeSet.getType:()Lio/ebeaninternal/dbmigration/migration/ChangeSetType;
            getstatic io.ebeaninternal.dbmigration.migration.ChangeSetType.PENDING_DROPS:Lio/ebeaninternal/dbmigration/migration/ChangeSetType;
            if_acmpne 4
            iconst_1
            goto 5
      StackMap locals: io.ebeaninternal.dbmigration.model.ModelContainer io.ebeaninternal.dbmigration.migration.Migration io.ebeaninternal.dbmigration.model.MigrationVersion java.util.List io.ebeaninternal.dbmigration.migration.ChangeSet java.util.Iterator
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 6 /* pending */
        start local 6 // boolean pending
         6: .line 113
            iload 6 /* pending */
            ifeq 9
         7: .line 115
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.pendingDrops:Lio/ebeaninternal/dbmigration/model/PendingDrops;
            aload 2 /* version */
            aload 4 /* changeSet */
            invokevirtual io.ebeaninternal.dbmigration.model.PendingDrops.add:(Lio/ebeaninternal/dbmigration/model/MigrationVersion;Lio/ebeaninternal/dbmigration/migration/ChangeSet;)V
         8: .line 117
            goto 11
      StackMap locals: int
      StackMap stack:
         9: aload 0 /* this */
            aload 4 /* changeSet */
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.isDropsFor:(Lio/ebeaninternal/dbmigration/migration/ChangeSet;)Z
            ifeq 11
        10: .line 118
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.pendingDrops:Lio/ebeaninternal/dbmigration/model/PendingDrops;
            aload 4 /* changeSet */
            invokevirtual io.ebeaninternal.dbmigration.model.PendingDrops.appliedDropsFor:(Lio/ebeaninternal/dbmigration/migration/ChangeSet;)Z
            pop
        11: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* changeSet */
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.isDropsFor:(Lio/ebeaninternal/dbmigration/migration/ChangeSet;)Z
            ifne 13
        12: .line 121
            aload 0 /* this */
            aload 4 /* changeSet */
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.applyChangeSet:(Lio/ebeaninternal/dbmigration/migration/ChangeSet;)V
        end local 6 // boolean pending
        end local 4 // io.ebeaninternal.dbmigration.migration.ChangeSet changeSet
        13: .line 111
      StackMap locals: io.ebeaninternal.dbmigration.model.ModelContainer io.ebeaninternal.dbmigration.migration.Migration io.ebeaninternal.dbmigration.model.MigrationVersion java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        14: .line 124
            return
        end local 3 // java.util.List changeSets
        end local 2 // io.ebeaninternal.dbmigration.model.MigrationVersion version
        end local 1 // io.ebeaninternal.dbmigration.migration.Migration migration
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0   15     1   migration  Lio/ebeaninternal/dbmigration/migration/Migration;
            0   15     2     version  Lio/ebeaninternal/dbmigration/model/MigrationVersion;
            1   15     3  changeSets  Ljava/util/List<Lio/ebeaninternal/dbmigration/migration/ChangeSet;>;
            3   13     4   changeSet  Lio/ebeaninternal/dbmigration/migration/ChangeSet;
            6   13     6     pending  Z
    MethodParameters:
           Name  Flags
      migration  
      version    

  private boolean isDropsFor(io.ebeaninternal.dbmigration.migration.ChangeSet);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/ChangeSet;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.ChangeSet changeSet
         0: .line 130
            aload 1 /* changeSet */
            invokevirtual io.ebeaninternal.dbmigration.migration.ChangeSet.getDropsFor:()Ljava/lang/String;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // io.ebeaninternal.dbmigration.migration.ChangeSet changeSet
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    2     1  changeSet  Lio/ebeaninternal/dbmigration/migration/ChangeSet;
    MethodParameters:
           Name  Flags
      changeSet  

  protected void applyChangeSet(io.ebeaninternal.dbmigration.migration.ChangeSet);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/ChangeSet;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.ChangeSet changeSet
         0: .line 138
            aload 1 /* changeSet */
            invokevirtual io.ebeaninternal.dbmigration.migration.ChangeSet.getChangeSetChildren:()Ljava/util/List;
            astore 2 /* changeSetChildren */
        start local 2 // java.util.List changeSetChildren
         1: .line 139
            aload 2 /* changeSetChildren */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 41
      StackMap locals: io.ebeaninternal.dbmigration.model.ModelContainer io.ebeaninternal.dbmigration.migration.ChangeSet java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* change */
        start local 3 // java.lang.Object change
         3: .line 140
            aload 3 /* change */
            instanceof io.ebeaninternal.dbmigration.migration.CreateTable
            ifeq 6
         4: .line 141
            aload 0 /* this */
            aload 3 /* change */
            checkcast io.ebeaninternal.dbmigration.migration.CreateTable
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.applyChange:(Lio/ebeaninternal/dbmigration/migration/CreateTable;)V
         5: .line 142
            goto 41
      StackMap locals: io.ebeaninternal.dbmigration.model.ModelContainer io.ebeaninternal.dbmigration.migration.ChangeSet java.util.List java.lang.Object java.util.Iterator
      StackMap stack:
         6: aload 3 /* change */
            instanceof io.ebeaninternal.dbmigration.migration.DropTable
            ifeq 9
         7: .line 143
            aload 0 /* this */
            aload 3 /* change */
            checkcast io.ebeaninternal.dbmigration.migration.DropTable
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.applyChange:(Lio/ebeaninternal/dbmigration/migration/DropTable;)V
         8: .line 144
            goto 41
      StackMap locals:
      StackMap stack:
         9: aload 3 /* change */
            instanceof io.ebeaninternal.dbmigration.migration.AlterColumn
            ifeq 12
        10: .line 145
            aload 0 /* this */
            aload 3 /* change */
            checkcast io.ebeaninternal.dbmigration.migration.AlterColumn
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.applyChange:(Lio/ebeaninternal/dbmigration/migration/AlterColumn;)V
        11: .line 146
            goto 41
      StackMap locals:
      StackMap stack:
        12: aload 3 /* change */
            instanceof io.ebeaninternal.dbmigration.migration.AddColumn
            ifeq 15
        13: .line 147
            aload 0 /* this */
            aload 3 /* change */
            checkcast io.ebeaninternal.dbmigration.migration.AddColumn
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.applyChange:(Lio/ebeaninternal/dbmigration/migration/AddColumn;)V
        14: .line 148
            goto 41
      StackMap locals:
      StackMap stack:
        15: aload 3 /* change */
            instanceof io.ebeaninternal.dbmigration.migration.DropColumn
            ifeq 18
        16: .line 149
            aload 0 /* this */
            aload 3 /* change */
            checkcast io.ebeaninternal.dbmigration.migration.DropColumn
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.applyChange:(Lio/ebeaninternal/dbmigration/migration/DropColumn;)V
        17: .line 150
            goto 41
      StackMap locals:
      StackMap stack:
        18: aload 3 /* change */
            instanceof io.ebeaninternal.dbmigration.migration.CreateIndex
            ifeq 21
        19: .line 151
            aload 0 /* this */
            aload 3 /* change */
            checkcast io.ebeaninternal.dbmigration.migration.CreateIndex
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.applyChange:(Lio/ebeaninternal/dbmigration/migration/CreateIndex;)V
        20: .line 152
            goto 41
      StackMap locals:
      StackMap stack:
        21: aload 3 /* change */
            instanceof io.ebeaninternal.dbmigration.migration.DropIndex
            ifeq 24
        22: .line 153
            aload 0 /* this */
            aload 3 /* change */
            checkcast io.ebeaninternal.dbmigration.migration.DropIndex
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.applyChange:(Lio/ebeaninternal/dbmigration/migration/DropIndex;)V
        23: .line 154
            goto 41
      StackMap locals:
      StackMap stack:
        24: aload 3 /* change */
            instanceof io.ebeaninternal.dbmigration.migration.AddHistoryTable
            ifeq 27
        25: .line 155
            aload 0 /* this */
            aload 3 /* change */
            checkcast io.ebeaninternal.dbmigration.migration.AddHistoryTable
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.applyChange:(Lio/ebeaninternal/dbmigration/migration/AddHistoryTable;)V
        26: .line 156
            goto 41
      StackMap locals:
      StackMap stack:
        27: aload 3 /* change */
            instanceof io.ebeaninternal.dbmigration.migration.DropHistoryTable
            ifeq 30
        28: .line 157
            aload 0 /* this */
            aload 3 /* change */
            checkcast io.ebeaninternal.dbmigration.migration.DropHistoryTable
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.applyChange:(Lio/ebeaninternal/dbmigration/migration/DropHistoryTable;)V
        29: .line 158
            goto 41
      StackMap locals:
      StackMap stack:
        30: aload 3 /* change */
            instanceof io.ebeaninternal.dbmigration.migration.AddUniqueConstraint
            ifeq 33
        31: .line 159
            aload 0 /* this */
            aload 3 /* change */
            checkcast io.ebeaninternal.dbmigration.migration.AddUniqueConstraint
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.applyChange:(Lio/ebeaninternal/dbmigration/migration/AddUniqueConstraint;)V
        32: .line 160
            goto 41
      StackMap locals:
      StackMap stack:
        33: aload 3 /* change */
            instanceof io.ebeaninternal.dbmigration.migration.AlterForeignKey
            ifeq 36
        34: .line 161
            aload 0 /* this */
            aload 3 /* change */
            checkcast io.ebeaninternal.dbmigration.migration.AlterForeignKey
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.applyChange:(Lio/ebeaninternal/dbmigration/migration/AlterForeignKey;)V
        35: .line 162
            goto 41
      StackMap locals:
      StackMap stack:
        36: aload 3 /* change */
            instanceof io.ebeaninternal.dbmigration.migration.AddTableComment
            ifeq 39
        37: .line 163
            aload 0 /* this */
            aload 3 /* change */
            checkcast io.ebeaninternal.dbmigration.migration.AddTableComment
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.applyChange:(Lio/ebeaninternal/dbmigration/migration/AddTableComment;)V
        38: .line 164
            goto 41
      StackMap locals:
      StackMap stack:
        39: aload 3 /* change */
            instanceof io.ebeaninternal.dbmigration.migration.Sql
            ifne 41
        40: .line 167
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No rule for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* change */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.Object change
        41: .line 139
      StackMap locals: io.ebeaninternal.dbmigration.model.ModelContainer io.ebeaninternal.dbmigration.migration.ChangeSet java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        42: .line 170
            return
        end local 2 // java.util.List changeSetChildren
        end local 1 // io.ebeaninternal.dbmigration.migration.ChangeSet changeSet
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   43     0               this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0   43     1          changeSet  Lio/ebeaninternal/dbmigration/migration/ChangeSet;
            1   43     2  changeSetChildren  Ljava/util/List<Ljava/lang/Object;>;
            3   41     3             change  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      changeSet  

  private void applyChange(io.ebeaninternal.dbmigration.migration.AddHistoryTable);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/AddHistoryTable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.AddHistoryTable change
         0: .line 177
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AddHistoryTable.getBaseTable:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MTable
            astore 2 /* table */
        start local 2 // io.ebeaninternal.dbmigration.model.MTable table
         1: .line 178
            aload 2 /* table */
            ifnonnull 3
         2: .line 179
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Table ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AddHistoryTable.getBaseTable:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] does not exist in model?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 181
      StackMap locals: io.ebeaninternal.dbmigration.model.MTable
      StackMap stack:
            aload 2 /* table */
            iconst_1
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.setWithHistory:(Z)Lio/ebeaninternal/dbmigration/model/MTable;
            pop
         4: .line 182
            return
        end local 2 // io.ebeaninternal.dbmigration.model.MTable table
        end local 1 // io.ebeaninternal.dbmigration.migration.AddHistoryTable change
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    5     1  change  Lio/ebeaninternal/dbmigration/migration/AddHistoryTable;
            1    5     2   table  Lio/ebeaninternal/dbmigration/model/MTable;
    MethodParameters:
        Name  Flags
      change  

  protected void applyChange(io.ebeaninternal.dbmigration.migration.DropHistoryTable);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/DropHistoryTable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.DropHistoryTable change
         0: .line 189
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.DropHistoryTable.getBaseTable:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MTable
            astore 2 /* table */
        start local 2 // io.ebeaninternal.dbmigration.model.MTable table
         1: .line 190
            aload 2 /* table */
            ifnull 3
         2: .line 191
            aload 2 /* table */
            iconst_0
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.setWithHistory:(Z)Lio/ebeaninternal/dbmigration/model/MTable;
            pop
         3: .line 193
      StackMap locals: io.ebeaninternal.dbmigration.model.MTable
      StackMap stack:
            return
        end local 2 // io.ebeaninternal.dbmigration.model.MTable table
        end local 1 // io.ebeaninternal.dbmigration.migration.DropHistoryTable change
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    4     1  change  Lio/ebeaninternal/dbmigration/migration/DropHistoryTable;
            1    4     2   table  Lio/ebeaninternal/dbmigration/model/MTable;
    MethodParameters:
        Name  Flags
      change  

  private void applyChange(io.ebeaninternal.dbmigration.migration.AddUniqueConstraint);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/AddUniqueConstraint;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.AddUniqueConstraint change
         0: .line 196
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AddUniqueConstraint.getTableName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MTable
            astore 2 /* table */
        start local 2 // io.ebeaninternal.dbmigration.model.MTable table
         1: .line 197
            aload 2 /* table */
            ifnonnull 3
         2: .line 198
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Table ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AddUniqueConstraint.getTableName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] does not exist in model?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 200
      StackMap locals: io.ebeaninternal.dbmigration.model.MTable
      StackMap stack:
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AddUniqueConstraint.getColumnNames:()Ljava/lang/String;
            invokestatic io.ebeaninternal.dbmigration.ddlgeneration.platform.DdlHelp.isDropConstraint:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 201
            aload 2 /* table */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.getUniqueConstraints:()Ljava/util/List;
            aload 1 /* change */
            invokedynamic test(Lio/ebeaninternal/dbmigration/migration/AddUniqueConstraint;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  io/ebeaninternal/dbmigration/model/ModelContainer.lambda$0(Lio/ebeaninternal/dbmigration/migration/AddUniqueConstraint;Lio/ebeaninternal/dbmigration/model/MCompoundUniqueConstraint;)Z (6)
                  (Lio/ebeaninternal/dbmigration/model/MCompoundUniqueConstraint;)Z
            invokeinterface java.util.List.removeIf:(Ljava/util/function/Predicate;)Z
            pop
         5: .line 202
            goto 11
         6: .line 203
      StackMap locals:
      StackMap stack:
            new io.ebeaninternal.dbmigration.model.MCompoundUniqueConstraint
            dup
         7: .line 204
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AddUniqueConstraint.getColumnNames:()Ljava/lang/String;
            invokestatic io.ebeaninternal.dbmigration.ddlgeneration.platform.SplitColumns.split:(Ljava/lang/String;)[Ljava/lang/String;
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AddUniqueConstraint.isOneToOne:()Ljava/lang/Boolean;
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AddUniqueConstraint.getConstraintName:()Ljava/lang/String;
         8: .line 203
            invokespecial io.ebeaninternal.dbmigration.model.MCompoundUniqueConstraint.<init>:([Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/String;)V
            astore 3 /* constraint */
        start local 3 // io.ebeaninternal.dbmigration.model.MCompoundUniqueConstraint constraint
         9: .line 205
            aload 3 /* constraint */
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AddUniqueConstraint.getNullableColumns:()Ljava/lang/String;
            invokestatic io.ebeaninternal.dbmigration.ddlgeneration.platform.SplitColumns.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokevirtual io.ebeaninternal.dbmigration.model.MCompoundUniqueConstraint.setNullableColumns:([Ljava/lang/String;)V
        10: .line 206
            aload 2 /* table */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.getUniqueConstraints:()Ljava/util/List;
            aload 3 /* constraint */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // io.ebeaninternal.dbmigration.model.MCompoundUniqueConstraint constraint
        11: .line 208
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.ebeaninternal.dbmigration.model.MTable table
        end local 1 // io.ebeaninternal.dbmigration.migration.AddUniqueConstraint change
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0   12     1      change  Lio/ebeaninternal/dbmigration/migration/AddUniqueConstraint;
            1   12     2       table  Lio/ebeaninternal/dbmigration/model/MTable;
            9   11     3  constraint  Lio/ebeaninternal/dbmigration/model/MCompoundUniqueConstraint;
    MethodParameters:
        Name  Flags
      change  

  private void applyChange(io.ebeaninternal.dbmigration.migration.AlterForeignKey);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/AlterForeignKey;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.AlterForeignKey change
         0: .line 211
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AlterForeignKey.getTableName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MTable
            astore 2 /* table */
        start local 2 // io.ebeaninternal.dbmigration.model.MTable table
         1: .line 212
            aload 2 /* table */
            ifnonnull 3
         2: .line 213
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Table ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AlterForeignKey.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] does not exist in model?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 215
      StackMap locals: io.ebeaninternal.dbmigration.model.MTable
      StackMap stack:
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AlterForeignKey.getColumnNames:()Ljava/lang/String;
            invokestatic io.ebeaninternal.dbmigration.ddlgeneration.platform.DdlHelp.isDropForeignKey:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 216
            aload 2 /* table */
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AlterForeignKey.getName:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.removeForeignKey:(Ljava/lang/String;)V
         5: .line 217
            goto 9
         6: .line 218
      StackMap locals:
      StackMap stack:
            aload 2 /* table */
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AlterForeignKey.getName:()Ljava/lang/String;
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AlterForeignKey.getRefTableName:()Ljava/lang/String;
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AlterForeignKey.getIndexName:()Ljava/lang/String;
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AlterForeignKey.getColumnNames:()Ljava/lang/String;
         7: .line 219
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AlterForeignKey.getRefColumnNames:()Ljava/lang/String;
         8: .line 218
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.addForeignKey:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         9: .line 221
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.ebeaninternal.dbmigration.model.MTable table
        end local 1 // io.ebeaninternal.dbmigration.migration.AlterForeignKey change
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0   10     1  change  Lio/ebeaninternal/dbmigration/migration/AlterForeignKey;
            1   10     2   table  Lio/ebeaninternal/dbmigration/model/MTable;
    MethodParameters:
        Name  Flags
      change  

  private void applyChange(io.ebeaninternal.dbmigration.migration.AddTableComment);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/AddTableComment;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.AddTableComment change
         0: .line 224
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AddTableComment.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MTable
            astore 2 /* table */
        start local 2 // io.ebeaninternal.dbmigration.model.MTable table
         1: .line 225
            aload 2 /* table */
            ifnonnull 3
         2: .line 226
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Table ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AddTableComment.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] does not exist in model?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 228
      StackMap locals: io.ebeaninternal.dbmigration.model.MTable
      StackMap stack:
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AddTableComment.getComment:()Ljava/lang/String;
            invokestatic io.ebeaninternal.dbmigration.ddlgeneration.platform.DdlHelp.isDropComment:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 229
            aload 2 /* table */
            aconst_null
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.setComment:(Ljava/lang/String;)V
         5: .line 230
            goto 7
         6: .line 231
      StackMap locals:
      StackMap stack:
            aload 2 /* table */
            aload 1 /* change */
            invokevirtual io.ebeaninternal.dbmigration.migration.AddTableComment.getComment:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.setComment:(Ljava/lang/String;)V
         7: .line 233
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.ebeaninternal.dbmigration.model.MTable table
        end local 1 // io.ebeaninternal.dbmigration.migration.AddTableComment change
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    8     1  change  Lio/ebeaninternal/dbmigration/migration/AddTableComment;
            1    8     2   table  Lio/ebeaninternal/dbmigration/model/MTable;
    MethodParameters:
        Name  Flags
      change  

  protected void applyChange(io.ebeaninternal.dbmigration.migration.CreateTable);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/CreateTable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.CreateTable createTable
         0: .line 239
            aload 1 /* createTable */
            invokevirtual io.ebeaninternal.dbmigration.migration.CreateTable.getName:()Ljava/lang/String;
            astore 2 /* tableName */
        start local 2 // java.lang.String tableName
         1: .line 240
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
            aload 2 /* tableName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 241
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Table ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* tableName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] already exists in model?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 243
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
            aload 2 /* tableName */
            new io.ebeaninternal.dbmigration.model.MTable
            dup
            aload 1 /* createTable */
            invokespecial io.ebeaninternal.dbmigration.model.MTable.<init>:(Lio/ebeaninternal/dbmigration/migration/CreateTable;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 244
            return
        end local 2 // java.lang.String tableName
        end local 1 // io.ebeaninternal.dbmigration.migration.CreateTable createTable
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    5     1  createTable  Lio/ebeaninternal/dbmigration/migration/CreateTable;
            1    5     2    tableName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      createTable  

  protected void applyChange(io.ebeaninternal.dbmigration.migration.DropTable);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/DropTable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.DropTable dropTable
         0: .line 250
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
            aload 1 /* dropTable */
            invokevirtual io.ebeaninternal.dbmigration.migration.DropTable.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 251
            return
        end local 1 // io.ebeaninternal.dbmigration.migration.DropTable dropTable
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    2     1  dropTable  Lio/ebeaninternal/dbmigration/migration/DropTable;
    MethodParameters:
           Name  Flags
      dropTable  

  protected void applyChange(io.ebeaninternal.dbmigration.migration.CreateIndex);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/CreateIndex;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.CreateIndex createIndex
         0: .line 257
            aload 1 /* createIndex */
            invokevirtual io.ebeaninternal.dbmigration.migration.CreateIndex.getIndexName:()Ljava/lang/String;
            astore 2 /* indexName */
        start local 2 // java.lang.String indexName
         1: .line 258
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.indexes:Ljava/util/Map;
            aload 2 /* indexName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 259
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Index ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* indexName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] already exists in model?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 261
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.indexes:Ljava/util/Map;
            aload 1 /* createIndex */
            invokevirtual io.ebeaninternal.dbmigration.migration.CreateIndex.getIndexName:()Ljava/lang/String;
            new io.ebeaninternal.dbmigration.model.MIndex
            dup
            aload 1 /* createIndex */
            invokespecial io.ebeaninternal.dbmigration.model.MIndex.<init>:(Lio/ebeaninternal/dbmigration/migration/CreateIndex;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 262
            return
        end local 2 // java.lang.String indexName
        end local 1 // io.ebeaninternal.dbmigration.migration.CreateIndex createIndex
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    5     1  createIndex  Lio/ebeaninternal/dbmigration/migration/CreateIndex;
            1    5     2    indexName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      createIndex  

  protected void applyChange(io.ebeaninternal.dbmigration.migration.DropIndex);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/DropIndex;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.DropIndex dropIndex
         0: .line 268
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.indexes:Ljava/util/Map;
            aload 1 /* dropIndex */
            invokevirtual io.ebeaninternal.dbmigration.migration.DropIndex.getIndexName:()Ljava/lang/String;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 269
            return
        end local 1 // io.ebeaninternal.dbmigration.migration.DropIndex dropIndex
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    2     1  dropIndex  Lio/ebeaninternal/dbmigration/migration/DropIndex;
    MethodParameters:
           Name  Flags
      dropIndex  

  protected void applyChange(io.ebeaninternal.dbmigration.migration.AddColumn);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/AddColumn;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.AddColumn addColumn
         0: .line 275
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
            aload 1 /* addColumn */
            invokevirtual io.ebeaninternal.dbmigration.migration.AddColumn.getTableName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MTable
            astore 2 /* table */
        start local 2 // io.ebeaninternal.dbmigration.model.MTable table
         1: .line 276
            aload 2 /* table */
            ifnonnull 3
         2: .line 277
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Table ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* addColumn */
            invokevirtual io.ebeaninternal.dbmigration.migration.AddColumn.getTableName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] does not exist in model?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 279
      StackMap locals: io.ebeaninternal.dbmigration.model.MTable
      StackMap stack:
            aload 2 /* table */
            aload 1 /* addColumn */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.apply:(Lio/ebeaninternal/dbmigration/migration/AddColumn;)V
         4: .line 280
            return
        end local 2 // io.ebeaninternal.dbmigration.model.MTable table
        end local 1 // io.ebeaninternal.dbmigration.migration.AddColumn addColumn
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    5     1  addColumn  Lio/ebeaninternal/dbmigration/migration/AddColumn;
            1    5     2      table  Lio/ebeaninternal/dbmigration/model/MTable;
    MethodParameters:
           Name  Flags
      addColumn  

  protected void applyChange(io.ebeaninternal.dbmigration.migration.AlterColumn);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/AlterColumn;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.AlterColumn alterColumn
         0: .line 286
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
            aload 1 /* alterColumn */
            invokevirtual io.ebeaninternal.dbmigration.migration.AlterColumn.getTableName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MTable
            astore 2 /* table */
        start local 2 // io.ebeaninternal.dbmigration.model.MTable table
         1: .line 287
            aload 2 /* table */
            ifnonnull 3
         2: .line 288
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Table ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* alterColumn */
            invokevirtual io.ebeaninternal.dbmigration.migration.AlterColumn.getTableName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] does not exist in model?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 290
      StackMap locals: io.ebeaninternal.dbmigration.model.MTable
      StackMap stack:
            aload 2 /* table */
            aload 1 /* alterColumn */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.apply:(Lio/ebeaninternal/dbmigration/migration/AlterColumn;)V
         4: .line 291
            return
        end local 2 // io.ebeaninternal.dbmigration.model.MTable table
        end local 1 // io.ebeaninternal.dbmigration.migration.AlterColumn alterColumn
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    5     1  alterColumn  Lio/ebeaninternal/dbmigration/migration/AlterColumn;
            1    5     2        table  Lio/ebeaninternal/dbmigration/model/MTable;
    MethodParameters:
             Name  Flags
      alterColumn  

  protected void applyChange(io.ebeaninternal.dbmigration.migration.DropColumn);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/DropColumn;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.DropColumn dropColumn
         0: .line 297
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
            aload 1 /* dropColumn */
            invokevirtual io.ebeaninternal.dbmigration.migration.DropColumn.getTableName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MTable
            astore 2 /* table */
        start local 2 // io.ebeaninternal.dbmigration.model.MTable table
         1: .line 298
            aload 2 /* table */
            ifnonnull 3
         2: .line 299
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Table ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* dropColumn */
            invokevirtual io.ebeaninternal.dbmigration.migration.DropColumn.getTableName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] does not exist in model?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 301
      StackMap locals: io.ebeaninternal.dbmigration.model.MTable
      StackMap stack:
            aload 2 /* table */
            aload 1 /* dropColumn */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.apply:(Lio/ebeaninternal/dbmigration/migration/DropColumn;)V
         4: .line 302
            return
        end local 2 // io.ebeaninternal.dbmigration.model.MTable table
        end local 1 // io.ebeaninternal.dbmigration.migration.DropColumn dropColumn
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    5     1  dropColumn  Lio/ebeaninternal/dbmigration/migration/DropColumn;
            1    5     2       table  Lio/ebeaninternal/dbmigration/model/MTable;
    MethodParameters:
            Name  Flags
      dropColumn  

  public io.ebeaninternal.dbmigration.model.MTable addTable(io.ebeaninternal.dbmigration.model.MTable);
    descriptor: (Lio/ebeaninternal/dbmigration/model/MTable;)Lio/ebeaninternal/dbmigration/model/MTable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.model.MTable table
         0: .line 308
            aload 1 /* table */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.isPartitioned:()Z
            ifeq 2
         1: .line 309
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.partitionedTables:Ljava/util/List;
            aload 1 /* table */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.tables:Ljava/util/Map;
            aload 1 /* table */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.getName:()Ljava/lang/String;
            aload 1 /* table */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MTable
            areturn
        end local 1 // io.ebeaninternal.dbmigration.model.MTable table
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    3     1  table  Lio/ebeaninternal/dbmigration/model/MTable;
    MethodParameters:
       Name  Flags
      table  

  public void addIndex(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=7, locals=4, args_size=4
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // java.lang.String indexName
        start local 2 // java.lang.String tableName
        start local 3 // java.lang.String columnName
         0: .line 319
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.indexes:Ljava/util/Map;
            aload 1 /* indexName */
            new io.ebeaninternal.dbmigration.model.MIndex
            dup
            aload 1 /* indexName */
            aload 2 /* tableName */
            aload 3 /* columnName */
            invokespecial io.ebeaninternal.dbmigration.model.MIndex.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 320
            return
        end local 3 // java.lang.String columnName
        end local 2 // java.lang.String tableName
        end local 1 // java.lang.String indexName
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    2     1   indexName  Ljava/lang/String;
            0    2     2   tableName  Ljava/lang/String;
            0    2     3  columnName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      indexName   
      tableName   
      columnName  

  public void addIndex(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=7, locals=4, args_size=4
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // java.lang.String indexName
        start local 2 // java.lang.String tableName
        start local 3 // java.lang.String[] columnNames
         0: .line 327
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.indexes:Ljava/util/Map;
            aload 1 /* indexName */
            new io.ebeaninternal.dbmigration.model.MIndex
            dup
            aload 1 /* indexName */
            aload 2 /* tableName */
            aload 3 /* columnNames */
            invokespecial io.ebeaninternal.dbmigration.model.MIndex.<init>:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 328
            return
        end local 3 // java.lang.String[] columnNames
        end local 2 // java.lang.String tableName
        end local 1 // java.lang.String indexName
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    2     1    indexName  Ljava/lang/String;
            0    2     2    tableName  Ljava/lang/String;
            0    2     3  columnNames  [Ljava/lang/String;
    MethodParameters:
             Name  Flags
      indexName    
      tableName    
      columnNames  

  public java.util.List<java.lang.String> getPendingDrops();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
         0: .line 334
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.pendingDrops:Lio/ebeaninternal/dbmigration/model/PendingDrops;
            invokevirtual io.ebeaninternal.dbmigration.model.PendingDrops.pendingDrops:()Ljava/util/List;
            areturn
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public io.ebeaninternal.dbmigration.migration.Migration migrationForPendingDrop(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/ebeaninternal/dbmigration/migration/Migration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // java.lang.String pendingVersion
         0: .line 341
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.pendingDrops:Lio/ebeaninternal/dbmigration/model/PendingDrops;
            aload 1 /* pendingVersion */
            invokevirtual io.ebeaninternal.dbmigration.model.PendingDrops.migrationForVersion:(Ljava/lang/String;)Lio/ebeaninternal/dbmigration/migration/Migration;
            areturn
        end local 1 // java.lang.String pendingVersion
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    1     1  pendingVersion  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      pendingVersion  

  public void registerPendingHistoryDropColumns(io.ebeaninternal.dbmigration.model.ModelContainer);
    descriptor: (Lio/ebeaninternal/dbmigration/model/ModelContainer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.model.ModelContainer newModel
         0: .line 348
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelContainer.pendingDrops:Lio/ebeaninternal/dbmigration/model/PendingDrops;
            aload 1 /* newModel */
            invokevirtual io.ebeaninternal.dbmigration.model.PendingDrops.registerPendingHistoryDropColumns:(Lio/ebeaninternal/dbmigration/model/ModelContainer;)V
         1: .line 349
            return
        end local 1 // io.ebeaninternal.dbmigration.model.ModelContainer newModel
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    2     1  newModel  Lio/ebeaninternal/dbmigration/model/ModelContainer;
    MethodParameters:
          Name  Flags
      newModel  

  public void registerPendingHistoryDropColumns(io.ebeaninternal.dbmigration.migration.ChangeSet);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/ChangeSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.ChangeSet changeSet
         0: .line 357
            aload 1 /* changeSet */
            invokevirtual io.ebeaninternal.dbmigration.migration.ChangeSet.getChangeSetChildren:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: io.ebeaninternal.dbmigration.model.ModelContainer io.ebeaninternal.dbmigration.migration.ChangeSet top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 2 /* change */
        start local 2 // java.lang.Object change
         2: .line 358
            aload 2 /* change */
            instanceof io.ebeaninternal.dbmigration.migration.DropColumn
            ifeq 6
         3: .line 359
            aload 2 /* change */
            checkcast io.ebeaninternal.dbmigration.migration.DropColumn
            astore 4 /* dropColumn */
        start local 4 // io.ebeaninternal.dbmigration.migration.DropColumn dropColumn
         4: .line 360
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            aload 4 /* dropColumn */
            invokevirtual io.ebeaninternal.dbmigration.migration.DropColumn.isWithHistory:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 361
            aload 0 /* this */
            aload 4 /* dropColumn */
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.registerPendingDropColumn:(Lio/ebeaninternal/dbmigration/migration/DropColumn;)V
        end local 4 // io.ebeaninternal.dbmigration.migration.DropColumn dropColumn
        end local 2 // java.lang.Object change
         6: .line 357
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 365
            return
        end local 1 // io.ebeaninternal.dbmigration.migration.ChangeSet changeSet
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    8     1   changeSet  Lio/ebeaninternal/dbmigration/migration/ChangeSet;
            2    6     2      change  Ljava/lang/Object;
            4    6     4  dropColumn  Lio/ebeaninternal/dbmigration/migration/DropColumn;
    MethodParameters:
           Name  Flags
      changeSet  

  private void registerPendingDropColumn(io.ebeaninternal.dbmigration.migration.DropColumn);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/DropColumn;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
        start local 1 // io.ebeaninternal.dbmigration.migration.DropColumn dropColumn
         0: .line 372
            aload 0 /* this */
            aload 1 /* dropColumn */
            invokevirtual io.ebeaninternal.dbmigration.migration.DropColumn.getTableName:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.getTable:(Ljava/lang/String;)Lio/ebeaninternal/dbmigration/model/MTable;
            astore 2 /* table */
        start local 2 // io.ebeaninternal.dbmigration.model.MTable table
         1: .line 373
            aload 2 /* table */
            ifnonnull 3
         2: .line 374
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Table ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* dropColumn */
            invokevirtual io.ebeaninternal.dbmigration.migration.DropColumn.getTableName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] not found?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 376
      StackMap locals: io.ebeaninternal.dbmigration.model.MTable
      StackMap stack:
            aload 2 /* table */
            aload 1 /* dropColumn */
            invokevirtual io.ebeaninternal.dbmigration.migration.DropColumn.getColumnName:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.registerPendingDropColumn:(Ljava/lang/String;)V
         4: .line 377
            return
        end local 2 // io.ebeaninternal.dbmigration.model.MTable table
        end local 1 // io.ebeaninternal.dbmigration.migration.DropColumn dropColumn
        end local 0 // io.ebeaninternal.dbmigration.model.ModelContainer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            0    5     1  dropColumn  Lio/ebeaninternal/dbmigration/migration/DropColumn;
            1    5     2       table  Lio/ebeaninternal/dbmigration/model/MTable;
    MethodParameters:
            Name  Flags
      dropColumn  

  private static boolean lambda$0(io.ebeaninternal.dbmigration.migration.AddUniqueConstraint, io.ebeaninternal.dbmigration.model.MCompoundUniqueConstraint);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/AddUniqueConstraint;Lio/ebeaninternal/dbmigration/model/MCompoundUniqueConstraint;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.ebeaninternal.dbmigration.model.MCompoundUniqueConstraint constraint
         0: .line 201
            aload 1 /* constraint */
            invokevirtual io.ebeaninternal.dbmigration.model.MCompoundUniqueConstraint.getName:()Ljava/lang/String;
            aload 0
            invokevirtual io.ebeaninternal.dbmigration.migration.AddUniqueConstraint.getConstraintName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // io.ebeaninternal.dbmigration.model.MCompoundUniqueConstraint constraint
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     1  constraint  Lio/ebeaninternal/dbmigration/model/MCompoundUniqueConstraint;
}
SourceFile: "ModelContainer.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles