public class io.ebeaninternal.dbmigration.model.ModelDiff
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.ebeaninternal.dbmigration.model.ModelDiff
  super_class: java.lang.Object
{
  private final io.ebeaninternal.dbmigration.model.ModelContainer baseModel;
    descriptor: Lio/ebeaninternal/dbmigration/model/ModelContainer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  public void <init>(io.ebeaninternal.dbmigration.model.ModelContainer);
    descriptor: (Lio/ebeaninternal/dbmigration/model/ModelContainer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.model.ModelContainer baseModel
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 35
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.ebeaninternal.dbmigration.model.ModelDiff.applyChanges:Ljava/util/List;
         2: .line 40
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.ebeaninternal.dbmigration.model.ModelDiff.dropChanges:Ljava/util/List;
         3: .line 46
            aload 0 /* this */
            aload 1 /* baseModel */
            putfield io.ebeaninternal.dbmigration.model.ModelDiff.baseModel:Lio/ebeaninternal/dbmigration/model/ModelContainer;
         4: .line 47
            return
        end local 1 // io.ebeaninternal.dbmigration.model.ModelContainer baseModel
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0    5     1  baseModel  Lio/ebeaninternal/dbmigration/model/ModelContainer;
    MethodParameters:
           Name  Flags
      baseModel  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 35
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.ebeaninternal.dbmigration.model.ModelDiff.applyChanges:Ljava/util/List;
         2: .line 40
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.ebeaninternal.dbmigration.model.ModelDiff.dropChanges:Ljava/util/List;
         3: .line 53
            aload 0 /* this */
            new io.ebeaninternal.dbmigration.model.ModelContainer
            dup
            invokespecial io.ebeaninternal.dbmigration.model.ModelContainer.<init>:()V
            putfield io.ebeaninternal.dbmigration.model.ModelDiff.baseModel:Lio/ebeaninternal/dbmigration/model/ModelContainer;
         4: .line 54
            return
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/ebeaninternal/dbmigration/model/ModelDiff;

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

  public io.ebeaninternal.dbmigration.migration.Migration getMigration();
    descriptor: ()Lio/ebeaninternal/dbmigration/migration/Migration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
         0: .line 71
            new io.ebeaninternal.dbmigration.migration.Migration
            dup
            invokespecial io.ebeaninternal.dbmigration.migration.Migration.<init>:()V
            astore 1 /* migration */
        start local 1 // io.ebeaninternal.dbmigration.migration.Migration migration
         1: .line 72
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.applyChanges:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 3
         2: .line 74
            aload 1 /* migration */
            invokevirtual io.ebeaninternal.dbmigration.migration.Migration.getChangeSet:()Ljava/util/List;
            aload 0 /* this */
            invokevirtual io.ebeaninternal.dbmigration.model.ModelDiff.getApplyChangeSet:()Lio/ebeaninternal/dbmigration/migration/ChangeSet;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 77
      StackMap locals: io.ebeaninternal.dbmigration.migration.Migration
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.dropChanges:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 5
         4: .line 79
            aload 1 /* migration */
            invokevirtual io.ebeaninternal.dbmigration.migration.Migration.getChangeSet:()Ljava/util/List;
            aload 0 /* this */
            invokevirtual io.ebeaninternal.dbmigration.model.ModelDiff.getDropChangeSet:()Lio/ebeaninternal/dbmigration/migration/ChangeSet;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 81
      StackMap locals:
      StackMap stack:
            aload 1 /* migration */
            areturn
        end local 1 // io.ebeaninternal.dbmigration.migration.Migration migration
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            1    6     1  migration  Lio/ebeaninternal/dbmigration/migration/Migration;

  java.util.List<java.lang.Object> getApplyChanges();
    descriptor: ()Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
         0: .line 88
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.applyChanges:Ljava/util/List;
            areturn
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
    Signature: ()Ljava/util/List<Ljava/lang/Object;>;

  java.util.List<java.lang.Object> getDropChanges();
    descriptor: ()Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
         0: .line 95
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.dropChanges:Ljava/util/List;
            areturn
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
    Signature: ()Ljava/util/List<Ljava/lang/Object;>;

  public io.ebeaninternal.dbmigration.migration.ChangeSet getApplyChangeSet();
    descriptor: ()Lio/ebeaninternal/dbmigration/migration/ChangeSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
         0: .line 103
            new io.ebeaninternal.dbmigration.migration.ChangeSet
            dup
            invokespecial io.ebeaninternal.dbmigration.migration.ChangeSet.<init>:()V
            astore 1 /* applyChangeSet */
        start local 1 // io.ebeaninternal.dbmigration.migration.ChangeSet applyChangeSet
         1: .line 104
            aload 1 /* applyChangeSet */
            getstatic io.ebeaninternal.dbmigration.migration.ChangeSetType.APPLY:Lio/ebeaninternal/dbmigration/migration/ChangeSetType;
            invokevirtual io.ebeaninternal.dbmigration.migration.ChangeSet.setType:(Lio/ebeaninternal/dbmigration/migration/ChangeSetType;)V
         2: .line 105
            aload 1 /* applyChangeSet */
            invokevirtual io.ebeaninternal.dbmigration.migration.ChangeSet.getChangeSetChildren:()Ljava/util/List;
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.applyChanges:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 106
            aload 1 /* applyChangeSet */
            areturn
        end local 1 // io.ebeaninternal.dbmigration.migration.ChangeSet applyChangeSet
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            1    4     1  applyChangeSet  Lio/ebeaninternal/dbmigration/migration/ChangeSet;

  io.ebeaninternal.dbmigration.migration.ChangeSet getDropChangeSet();
    descriptor: ()Lio/ebeaninternal/dbmigration/migration/ChangeSet;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
         0: .line 114
            new io.ebeaninternal.dbmigration.migration.ChangeSet
            dup
            invokespecial io.ebeaninternal.dbmigration.migration.ChangeSet.<init>:()V
            astore 1 /* createChangeSet */
        start local 1 // io.ebeaninternal.dbmigration.migration.ChangeSet createChangeSet
         1: .line 115
            aload 1 /* createChangeSet */
            getstatic io.ebeaninternal.dbmigration.migration.ChangeSetType.PENDING_DROPS:Lio/ebeaninternal/dbmigration/migration/ChangeSetType;
            invokevirtual io.ebeaninternal.dbmigration.migration.ChangeSet.setType:(Lio/ebeaninternal/dbmigration/migration/ChangeSetType;)V
         2: .line 116
            aload 1 /* createChangeSet */
            invokevirtual io.ebeaninternal.dbmigration.migration.ChangeSet.getChangeSetChildren:()Ljava/util/List;
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.dropChanges:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 117
            aload 1 /* createChangeSet */
            areturn
        end local 1 // io.ebeaninternal.dbmigration.migration.ChangeSet createChangeSet
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            1    4     1  createChangeSet  Lio/ebeaninternal/dbmigration/migration/ChangeSet;

  public void compareTo(io.ebeaninternal.dbmigration.model.ModelContainer);
    descriptor: (Lio/ebeaninternal/dbmigration/model/ModelContainer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.model.ModelContainer newModel
         0: .line 125
            aload 1 /* newModel */
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.getTables:()Ljava/util/Map;
            astore 2 /* newTables */
        start local 2 // java.util.Map newTables
         1: .line 126
            aload 2 /* newTables */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: io.ebeaninternal.dbmigration.model.ModelDiff io.ebeaninternal.dbmigration.model.ModelContainer java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MTable
            astore 3 /* newTable */
        start local 3 // io.ebeaninternal.dbmigration.model.MTable newTable
         3: .line 128
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.baseModel:Lio/ebeaninternal/dbmigration/model/ModelContainer;
            aload 3 /* newTable */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.getName:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.getTable:(Ljava/lang/String;)Lio/ebeaninternal/dbmigration/model/MTable;
            astore 5 /* currentTable */
        start local 5 // io.ebeaninternal.dbmigration.model.MTable currentTable
         4: .line 129
            aload 5 /* currentTable */
            ifnonnull 7
         5: .line 130
            aload 0 /* this */
            aload 3 /* newTable */
            invokevirtual io.ebeaninternal.dbmigration.model.ModelDiff.addNewTable:(Lio/ebeaninternal/dbmigration/model/MTable;)V
         6: .line 131
            goto 8
         7: .line 132
      StackMap locals: io.ebeaninternal.dbmigration.model.ModelDiff io.ebeaninternal.dbmigration.model.ModelContainer java.util.Map io.ebeaninternal.dbmigration.model.MTable java.util.Iterator io.ebeaninternal.dbmigration.model.MTable
      StackMap stack:
            aload 0 /* this */
            aload 5 /* currentTable */
            aload 3 /* newTable */
            invokevirtual io.ebeaninternal.dbmigration.model.ModelDiff.compareTables:(Lio/ebeaninternal/dbmigration/model/MTable;Lio/ebeaninternal/dbmigration/model/MTable;)V
        end local 5 // io.ebeaninternal.dbmigration.model.MTable currentTable
        end local 3 // io.ebeaninternal.dbmigration.model.MTable newTable
         8: .line 126
      StackMap locals: io.ebeaninternal.dbmigration.model.ModelDiff io.ebeaninternal.dbmigration.model.ModelContainer java.util.Map top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 137
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.baseModel:Lio/ebeaninternal/dbmigration/model/ModelContainer;
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.getTables:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals:
      StackMap stack:
        10: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MTable
            astore 3 /* existingTable */
        start local 3 // io.ebeaninternal.dbmigration.model.MTable existingTable
        11: .line 138
            aload 2 /* newTables */
            aload 3 /* existingTable */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 13
        12: .line 139
            aload 0 /* this */
            aload 3 /* existingTable */
            invokevirtual io.ebeaninternal.dbmigration.model.ModelDiff.addDropTable:(Lio/ebeaninternal/dbmigration/model/MTable;)V
        end local 3 // io.ebeaninternal.dbmigration.model.MTable existingTable
        13: .line 137
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        14: .line 143
            aload 1 /* newModel */
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.getIndexes:()Ljava/util/Map;
            astore 3 /* newIndexes */
        start local 3 // java.util.Map newIndexes
        15: .line 144
            aload 3 /* newIndexes */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 22
      StackMap locals: io.ebeaninternal.dbmigration.model.ModelDiff io.ebeaninternal.dbmigration.model.ModelContainer java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
        16: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MIndex
            astore 4 /* newIndex */
        start local 4 // io.ebeaninternal.dbmigration.model.MIndex newIndex
        17: .line 145
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.baseModel:Lio/ebeaninternal/dbmigration/model/ModelContainer;
            aload 4 /* newIndex */
            invokevirtual io.ebeaninternal.dbmigration.model.MIndex.getIndexName:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.getIndex:(Ljava/lang/String;)Lio/ebeaninternal/dbmigration/model/MIndex;
            astore 6 /* currentIndex */
        start local 6 // io.ebeaninternal.dbmigration.model.MIndex currentIndex
        18: .line 146
            aload 6 /* currentIndex */
            ifnonnull 21
        19: .line 147
            aload 0 /* this */
            aload 4 /* newIndex */
            invokevirtual io.ebeaninternal.dbmigration.model.MIndex.createIndex:()Lio/ebeaninternal/dbmigration/migration/CreateIndex;
            invokevirtual io.ebeaninternal.dbmigration.model.ModelDiff.addCreateIndex:(Lio/ebeaninternal/dbmigration/migration/CreateIndex;)V
        20: .line 148
            goto 22
        21: .line 149
      StackMap locals: io.ebeaninternal.dbmigration.model.ModelDiff io.ebeaninternal.dbmigration.model.ModelContainer java.util.Map java.util.Map io.ebeaninternal.dbmigration.model.MIndex java.util.Iterator io.ebeaninternal.dbmigration.model.MIndex
      StackMap stack:
            aload 0 /* this */
            aload 6 /* currentIndex */
            aload 4 /* newIndex */
            invokevirtual io.ebeaninternal.dbmigration.model.ModelDiff.compareIndexes:(Lio/ebeaninternal/dbmigration/model/MIndex;Lio/ebeaninternal/dbmigration/model/MIndex;)V
        end local 6 // io.ebeaninternal.dbmigration.model.MIndex currentIndex
        end local 4 // io.ebeaninternal.dbmigration.model.MIndex newIndex
        22: .line 144
      StackMap locals: io.ebeaninternal.dbmigration.model.ModelDiff io.ebeaninternal.dbmigration.model.ModelContainer java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        23: .line 154
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.baseModel:Lio/ebeaninternal/dbmigration/model/ModelContainer;
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.getIndexes:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 27
      StackMap locals:
      StackMap stack:
        24: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebeaninternal.dbmigration.model.MIndex
            astore 4 /* existingIndex */
        start local 4 // io.ebeaninternal.dbmigration.model.MIndex existingIndex
        25: .line 155
            aload 3 /* newIndexes */
            aload 4 /* existingIndex */
            invokevirtual io.ebeaninternal.dbmigration.model.MIndex.getIndexName:()Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 27
        26: .line 156
            aload 0 /* this */
            aload 4 /* existingIndex */
            invokevirtual io.ebeaninternal.dbmigration.model.MIndex.dropIndex:()Lio/ebeaninternal/dbmigration/migration/DropIndex;
            invokevirtual io.ebeaninternal.dbmigration.model.ModelDiff.addDropIndex:(Lio/ebeaninternal/dbmigration/migration/DropIndex;)V
        end local 4 // io.ebeaninternal.dbmigration.model.MIndex existingIndex
        27: .line 154
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        28: .line 161
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.baseModel:Lio/ebeaninternal/dbmigration/model/ModelContainer;
            aload 1 /* newModel */
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.registerPendingHistoryDropColumns:(Lio/ebeaninternal/dbmigration/model/ModelContainer;)V
        29: .line 162
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.dropChanges:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 31
        30: .line 164
            aload 1 /* newModel */
            aload 0 /* this */
            invokevirtual io.ebeaninternal.dbmigration.model.ModelDiff.getDropChangeSet:()Lio/ebeaninternal/dbmigration/migration/ChangeSet;
            invokevirtual io.ebeaninternal.dbmigration.model.ModelContainer.registerPendingHistoryDropColumns:(Lio/ebeaninternal/dbmigration/migration/ChangeSet;)V
        31: .line 166
      StackMap locals: io.ebeaninternal.dbmigration.model.ModelDiff io.ebeaninternal.dbmigration.model.ModelContainer java.util.Map java.util.Map
      StackMap stack:
            return
        end local 3 // java.util.Map newIndexes
        end local 2 // java.util.Map newTables
        end local 1 // io.ebeaninternal.dbmigration.model.ModelContainer newModel
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   32     0           this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0   32     1       newModel  Lio/ebeaninternal/dbmigration/model/ModelContainer;
            1   32     2      newTables  Ljava/util/Map<Ljava/lang/String;Lio/ebeaninternal/dbmigration/model/MTable;>;
            3    8     3       newTable  Lio/ebeaninternal/dbmigration/model/MTable;
            4    8     5   currentTable  Lio/ebeaninternal/dbmigration/model/MTable;
           11   13     3  existingTable  Lio/ebeaninternal/dbmigration/model/MTable;
           15   32     3     newIndexes  Ljava/util/Map<Ljava/lang/String;Lio/ebeaninternal/dbmigration/model/MIndex;>;
           17   22     4       newIndex  Lio/ebeaninternal/dbmigration/model/MIndex;
           18   22     6   currentIndex  Lio/ebeaninternal/dbmigration/model/MIndex;
           25   27     4  existingIndex  Lio/ebeaninternal/dbmigration/model/MIndex;
    MethodParameters:
          Name  Flags
      newModel  

  protected void addDropTable(io.ebeaninternal.dbmigration.model.MTable);
    descriptor: (Lio/ebeaninternal/dbmigration/model/MTable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.model.MTable existingTable
         0: .line 169
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.dropChanges:Ljava/util/List;
            aload 1 /* existingTable */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.dropTable:()Lio/ebeaninternal/dbmigration/migration/DropTable;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 170
            return
        end local 1 // io.ebeaninternal.dbmigration.model.MTable existingTable
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0    2     1  existingTable  Lio/ebeaninternal/dbmigration/model/MTable;
    MethodParameters:
               Name  Flags
      existingTable  

  protected void addNewTable(io.ebeaninternal.dbmigration.model.MTable);
    descriptor: (Lio/ebeaninternal/dbmigration/model/MTable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.model.MTable newTable
         0: .line 176
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.applyChanges:Ljava/util/List;
            aload 1 /* newTable */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.createTable:()Lio/ebeaninternal/dbmigration/migration/CreateTable;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 177
            return
        end local 1 // io.ebeaninternal.dbmigration.model.MTable newTable
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0    2     1  newTable  Lio/ebeaninternal/dbmigration/model/MTable;
    MethodParameters:
          Name  Flags
      newTable  

  protected void compareTables(io.ebeaninternal.dbmigration.model.MTable, io.ebeaninternal.dbmigration.model.MTable);
    descriptor: (Lio/ebeaninternal/dbmigration/model/MTable;Lio/ebeaninternal/dbmigration/model/MTable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.model.MTable currentTable
        start local 2 // io.ebeaninternal.dbmigration.model.MTable newTable
         0: .line 184
            aload 1 /* currentTable */
            aload 0 /* this */
            aload 2 /* newTable */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.compare:(Lio/ebeaninternal/dbmigration/model/ModelDiff;Lio/ebeaninternal/dbmigration/model/MTable;)V
         1: .line 185
            return
        end local 2 // io.ebeaninternal.dbmigration.model.MTable newTable
        end local 1 // io.ebeaninternal.dbmigration.model.MTable currentTable
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0    2     1  currentTable  Lio/ebeaninternal/dbmigration/model/MTable;
            0    2     2      newTable  Lio/ebeaninternal/dbmigration/model/MTable;
    MethodParameters:
              Name  Flags
      currentTable  
      newTable      

  protected void compareIndexes(io.ebeaninternal.dbmigration.model.MIndex, io.ebeaninternal.dbmigration.model.MIndex);
    descriptor: (Lio/ebeaninternal/dbmigration/model/MIndex;Lio/ebeaninternal/dbmigration/model/MIndex;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.model.MIndex currentIndex
        start local 2 // io.ebeaninternal.dbmigration.model.MIndex newIndex
         0: .line 192
            aload 1 /* currentIndex */
            aload 0 /* this */
            aload 2 /* newIndex */
            invokevirtual io.ebeaninternal.dbmigration.model.MIndex.compare:(Lio/ebeaninternal/dbmigration/model/ModelDiff;Lio/ebeaninternal/dbmigration/model/MIndex;)V
         1: .line 193
            return
        end local 2 // io.ebeaninternal.dbmigration.model.MIndex newIndex
        end local 1 // io.ebeaninternal.dbmigration.model.MIndex currentIndex
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0    2     1  currentIndex  Lio/ebeaninternal/dbmigration/model/MIndex;
            0    2     2      newIndex  Lio/ebeaninternal/dbmigration/model/MIndex;
    MethodParameters:
              Name  Flags
      currentIndex  
      newIndex      

  public void addAlterColumn(io.ebeaninternal.dbmigration.migration.AlterColumn);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/AlterColumn;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.migration.AlterColumn alterColumn
         0: .line 199
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.applyChanges:Ljava/util/List;
            aload 1 /* alterColumn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 200
            return
        end local 1 // io.ebeaninternal.dbmigration.migration.AlterColumn alterColumn
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0    2     1  alterColumn  Lio/ebeaninternal/dbmigration/migration/AlterColumn;
    MethodParameters:
             Name  Flags
      alterColumn  

  public void addAddColumn(io.ebeaninternal.dbmigration.migration.AddColumn);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/AddColumn;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.migration.AddColumn addColumn
         0: .line 206
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.applyChanges:Ljava/util/List;
            aload 1 /* addColumn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 207
            return
        end local 1 // io.ebeaninternal.dbmigration.migration.AddColumn addColumn
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0    2     1  addColumn  Lio/ebeaninternal/dbmigration/migration/AddColumn;
    MethodParameters:
           Name  Flags
      addColumn  

  public void addDropColumn(io.ebeaninternal.dbmigration.migration.DropColumn);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/DropColumn;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.migration.DropColumn dropColumn
         0: .line 213
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.dropChanges:Ljava/util/List;
            aload 1 /* dropColumn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 214
            return
        end local 1 // io.ebeaninternal.dbmigration.migration.DropColumn dropColumn
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0    2     1  dropColumn  Lio/ebeaninternal/dbmigration/migration/DropColumn;
    MethodParameters:
            Name  Flags
      dropColumn  

  public void addAddHistoryTable(io.ebeaninternal.dbmigration.migration.AddHistoryTable);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/AddHistoryTable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.migration.AddHistoryTable addHistoryTable
         0: .line 220
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.applyChanges:Ljava/util/List;
            aload 1 /* addHistoryTable */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 221
            return
        end local 1 // io.ebeaninternal.dbmigration.migration.AddHistoryTable addHistoryTable
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0    2     1  addHistoryTable  Lio/ebeaninternal/dbmigration/migration/AddHistoryTable;
    MethodParameters:
                 Name  Flags
      addHistoryTable  

  public void addDropHistoryTable(io.ebeaninternal.dbmigration.migration.DropHistoryTable);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/DropHistoryTable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.migration.DropHistoryTable dropHistoryTable
         0: .line 227
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.dropChanges:Ljava/util/List;
            aload 1 /* dropHistoryTable */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 228
            return
        end local 1 // io.ebeaninternal.dbmigration.migration.DropHistoryTable dropHistoryTable
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0    2     1  dropHistoryTable  Lio/ebeaninternal/dbmigration/migration/DropHistoryTable;
    MethodParameters:
                  Name  Flags
      dropHistoryTable  

  public void addDropIndex(io.ebeaninternal.dbmigration.migration.DropIndex);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/DropIndex;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.migration.DropIndex dropIndex
         0: .line 234
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.applyChanges:Ljava/util/List;
            aload 1 /* dropIndex */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 235
            return
        end local 1 // io.ebeaninternal.dbmigration.migration.DropIndex dropIndex
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0    2     1  dropIndex  Lio/ebeaninternal/dbmigration/migration/DropIndex;
    MethodParameters:
           Name  Flags
      dropIndex  

  public void addCreateIndex(io.ebeaninternal.dbmigration.migration.CreateIndex);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/CreateIndex;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.migration.CreateIndex createIndex
         0: .line 241
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.applyChanges:Ljava/util/List;
            aload 1 /* createIndex */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 242
            return
        end local 1 // io.ebeaninternal.dbmigration.migration.CreateIndex createIndex
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0    2     1  createIndex  Lio/ebeaninternal/dbmigration/migration/CreateIndex;
    MethodParameters:
             Name  Flags
      createIndex  

  public void addTableComment(io.ebeaninternal.dbmigration.migration.AddTableComment);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/AddTableComment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.migration.AddTableComment addTableComment
         0: .line 248
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.applyChanges:Ljava/util/List;
            aload 1 /* addTableComment */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 249
            return
        end local 1 // io.ebeaninternal.dbmigration.migration.AddTableComment addTableComment
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0    2     1  addTableComment  Lio/ebeaninternal/dbmigration/migration/AddTableComment;
    MethodParameters:
                 Name  Flags
      addTableComment  

  public void addUniqueConstraint(io.ebeaninternal.dbmigration.migration.AddUniqueConstraint);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/AddUniqueConstraint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.migration.AddUniqueConstraint addUniqueConstraint
         0: .line 255
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.applyChanges:Ljava/util/List;
            aload 1 /* addUniqueConstraint */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 256
            return
        end local 1 // io.ebeaninternal.dbmigration.migration.AddUniqueConstraint addUniqueConstraint
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0    2     1  addUniqueConstraint  Lio/ebeaninternal/dbmigration/migration/AddUniqueConstraint;
    MethodParameters:
                     Name  Flags
      addUniqueConstraint  

  public void addAlterForeignKey(io.ebeaninternal.dbmigration.migration.AlterForeignKey);
    descriptor: (Lio/ebeaninternal/dbmigration/migration/AlterForeignKey;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
        start local 1 // io.ebeaninternal.dbmigration.migration.AlterForeignKey alterForeignKey
         0: .line 262
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.ModelDiff.applyChanges:Ljava/util/List;
            aload 1 /* alterForeignKey */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 263
            return
        end local 1 // io.ebeaninternal.dbmigration.migration.AlterForeignKey alterForeignKey
        end local 0 // io.ebeaninternal.dbmigration.model.ModelDiff this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lio/ebeaninternal/dbmigration/model/ModelDiff;
            0    2     1  alterForeignKey  Lio/ebeaninternal/dbmigration/migration/AlterForeignKey;
    MethodParameters:
                 Name  Flags
      alterForeignKey  
}
SourceFile: "ModelDiff.java"