public class io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder
  super_class: java.lang.Object
{
  private final java.util.concurrent.atomic.AtomicInteger count;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  void <init>(io.ebeaninternal.dbmigration.model.build.ModelBuildContext, io.ebeaninternal.dbmigration.model.MTable);
    descriptor: (Lio/ebeaninternal/dbmigration/model/build/ModelBuildContext;Lio/ebeaninternal/dbmigration/model/MTable;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder this
        start local 1 // io.ebeaninternal.dbmigration.model.build.ModelBuildContext ctx
        start local 2 // io.ebeaninternal.dbmigration.model.MTable destTable
         0: .line 212
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 204
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putfield io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder.count:Ljava/util/concurrent/atomic/AtomicInteger;
         2: .line 213
            aload 0 /* this */
            aload 1 /* ctx */
            putfield io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder.ctx:Lio/ebeaninternal/dbmigration/model/build/ModelBuildContext;
         3: .line 214
            aload 0 /* this */
            aload 2 /* destTable */
            putfield io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder.destTable:Lio/ebeaninternal/dbmigration/model/MTable;
         4: .line 215
            aload 0 /* this */
            aload 2 /* destTable */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.getName:()Ljava/lang/String;
            putfield io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder.tableName:Ljava/lang/String;
         5: .line 216
            return
        end local 2 // io.ebeaninternal.dbmigration.model.MTable destTable
        end local 1 // io.ebeaninternal.dbmigration.model.build.ModelBuildContext ctx
        end local 0 // io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lio/ebeaninternal/dbmigration/model/build/ModelBuildContext$FkeyBuilder;
            0    6     1        ctx  Lio/ebeaninternal/dbmigration/model/build/ModelBuildContext;
            0    6     2  destTable  Lio/ebeaninternal/dbmigration/model/MTable;
    MethodParameters:
           Name  Flags
      ctx        
      destTable  

  public io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder addForeignKey(io.ebeaninternal.server.deploy.BeanDescriptor<?>, io.ebeaninternal.server.deploy.TableJoin, boolean);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/server/deploy/TableJoin;Z)Lio/ebeaninternal/dbmigration/model/build/ModelBuildContext$FkeyBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=4
        start local 0 // io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptor desc
        start local 2 // io.ebeaninternal.server.deploy.TableJoin tableJoin
        start local 3 // boolean direction
         0: .line 223
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder.ctx:Lio/ebeaninternal/dbmigration/model/build/ModelBuildContext;
            aload 1 /* desc */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getBaseTable:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.dbmigration.model.build.ModelBuildContext.normaliseTable:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* baseTable */
        start local 4 // java.lang.String baseTable
         1: .line 224
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder.ctx:Lio/ebeaninternal/dbmigration/model/build/ModelBuildContext;
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder.tableName:Ljava/lang/String;
            aload 4 /* baseTable */
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder.count:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            invokevirtual io.ebeaninternal.dbmigration.model.build.ModelBuildContext.foreignKeyConstraintName:(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
            astore 5 /* fkName */
        start local 5 // java.lang.String fkName
         2: .line 225
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder.ctx:Lio/ebeaninternal/dbmigration/model/build/ModelBuildContext;
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder.tableName:Ljava/lang/String;
            aload 4 /* baseTable */
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder.count:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            invokevirtual io.ebeaninternal.dbmigration.model.build.ModelBuildContext.foreignKeyIndexName:(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
            astore 6 /* fkIndex */
        start local 6 // java.lang.String fkIndex
         3: .line 227
            new io.ebeaninternal.dbmigration.model.MCompoundForeignKey
            dup
            aload 5 /* fkName */
            aload 1 /* desc */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getBaseTable:()Ljava/lang/String;
            aload 6 /* fkIndex */
            invokespecial io.ebeaninternal.dbmigration.model.MCompoundForeignKey.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            astore 7 /* foreignKey */
        start local 7 // io.ebeaninternal.dbmigration.model.MCompoundForeignKey foreignKey
         4: .line 229
            aload 2 /* tableJoin */
            invokevirtual io.ebeaninternal.server.deploy.TableJoin.columns:()[Lio/ebeaninternal/server/deploy/TableJoinColumn;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 14
      StackMap locals: io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.deploy.TableJoin int java.lang.String java.lang.String java.lang.String io.ebeaninternal.dbmigration.model.MCompoundForeignKey top int int io.ebeaninternal.server.deploy.TableJoinColumn[]
      StackMap stack:
         5: aload 11
            iload 9
            aaload
            astore 8 /* column */
        start local 8 // io.ebeaninternal.server.deploy.TableJoinColumn column
         6: .line 230
            iload 3 /* direction */
            ifeq 7
            aload 8 /* column */
            invokevirtual io.ebeaninternal.server.deploy.TableJoinColumn.getForeignDbColumn:()Ljava/lang/String;
            goto 8
      StackMap locals: io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.deploy.TableJoin int java.lang.String java.lang.String java.lang.String io.ebeaninternal.dbmigration.model.MCompoundForeignKey io.ebeaninternal.server.deploy.TableJoinColumn int int io.ebeaninternal.server.deploy.TableJoinColumn[]
      StackMap stack:
         7: aload 8 /* column */
            invokevirtual io.ebeaninternal.server.deploy.TableJoinColumn.getLocalDbColumn:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         8: astore 12 /* localCol */
        start local 12 // java.lang.String localCol
         9: .line 231
            iload 3 /* direction */
            ifne 10
            aload 8 /* column */
            invokevirtual io.ebeaninternal.server.deploy.TableJoinColumn.getForeignDbColumn:()Ljava/lang/String;
            goto 11
      StackMap locals: java.lang.String
      StackMap stack:
        10: aload 8 /* column */
            invokevirtual io.ebeaninternal.server.deploy.TableJoinColumn.getLocalDbColumn:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        11: astore 13 /* refCol */
        start local 13 // java.lang.String refCol
        12: .line 232
            aload 7 /* foreignKey */
            aload 12 /* localCol */
            aload 13 /* refCol */
            invokevirtual io.ebeaninternal.dbmigration.model.MCompoundForeignKey.addColumnPair:(Ljava/lang/String;Ljava/lang/String;)V
        end local 13 // java.lang.String refCol
        end local 12 // java.lang.String localCol
        end local 8 // io.ebeaninternal.server.deploy.TableJoinColumn column
        13: .line 229
            iinc 9 1
      StackMap locals: io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.deploy.TableJoin int java.lang.String java.lang.String java.lang.String io.ebeaninternal.dbmigration.model.MCompoundForeignKey top int int io.ebeaninternal.server.deploy.TableJoinColumn[]
      StackMap stack:
        14: iload 9
            iload 10
            if_icmplt 5
        15: .line 235
            aload 0 /* this */
            getfield io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder.destTable:Lio/ebeaninternal/dbmigration/model/MTable;
            aload 7 /* foreignKey */
            invokevirtual io.ebeaninternal.dbmigration.model.MTable.addForeignKey:(Lio/ebeaninternal/dbmigration/model/MCompoundForeignKey;)V
        16: .line 236
            aload 0 /* this */
            areturn
        end local 7 // io.ebeaninternal.dbmigration.model.MCompoundForeignKey foreignKey
        end local 6 // java.lang.String fkIndex
        end local 5 // java.lang.String fkName
        end local 4 // java.lang.String baseTable
        end local 3 // boolean direction
        end local 2 // io.ebeaninternal.server.deploy.TableJoin tableJoin
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptor desc
        end local 0 // io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lio/ebeaninternal/dbmigration/model/build/ModelBuildContext$FkeyBuilder;
            0   17     1        desc  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            0   17     2   tableJoin  Lio/ebeaninternal/server/deploy/TableJoin;
            0   17     3   direction  Z
            1   17     4   baseTable  Ljava/lang/String;
            2   17     5      fkName  Ljava/lang/String;
            3   17     6     fkIndex  Ljava/lang/String;
            4   17     7  foreignKey  Lio/ebeaninternal/dbmigration/model/MCompoundForeignKey;
            6   13     8      column  Lio/ebeaninternal/server/deploy/TableJoinColumn;
            9   13    12    localCol  Ljava/lang/String;
           12   13    13      refCol  Ljava/lang/String;
    Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;Lio/ebeaninternal/server/deploy/TableJoin;Z)Lio/ebeaninternal/dbmigration/model/build/ModelBuildContext$FkeyBuilder;
    MethodParameters:
           Name  Flags
      desc       
      tableJoin  
      direction  
}
SourceFile: "ModelBuildContext.java"
NestHost: io.ebeaninternal.dbmigration.model.build.ModelBuildContext
InnerClasses:
  public FkeyBuilder = io.ebeaninternal.dbmigration.model.build.ModelBuildContext$FkeyBuilder of io.ebeaninternal.dbmigration.model.build.ModelBuildContext