public class org.jooq.meta.DefaultRelations implements org.jooq.meta.Relations
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jooq.meta.DefaultRelations
  super_class: java.lang.Object
{
  private static final org.jooq.tools.JooqLogger log;
    descriptor: Lorg/jooq/tools/JooqLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.Map<org.jooq.meta.DefaultRelations$Key, org.jooq.meta.UniqueKeyDefinition> primaryKeys;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/jooq/meta/DefaultRelations$Key;Lorg/jooq/meta/UniqueKeyDefinition;>;

  private final java.util.Map<org.jooq.meta.DefaultRelations$Key, org.jooq.meta.UniqueKeyDefinition> uniqueKeys;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/jooq/meta/DefaultRelations$Key;Lorg/jooq/meta/UniqueKeyDefinition;>;

  private final java.util.Map<org.jooq.meta.DefaultRelations$Key, org.jooq.meta.ForeignKeyDefinition> foreignKeys;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/jooq/meta/DefaultRelations$Key;Lorg/jooq/meta/ForeignKeyDefinition;>;

  private final java.util.Map<org.jooq.meta.DefaultRelations$Key, org.jooq.meta.CheckConstraintDefinition> checkConstraints;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/jooq/meta/DefaultRelations$Key;Lorg/jooq/meta/CheckConstraintDefinition;>;

  private final java.util.Set<org.jooq.meta.DefaultRelations$Key> incompleteKeys;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/jooq/meta/DefaultRelations$Key;>;

  private transient java.util.Map<org.jooq.meta.ColumnDefinition, org.jooq.meta.UniqueKeyDefinition> primaryKeysByColumn;
    descriptor: Ljava/util/Map;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/Map<Lorg/jooq/meta/ColumnDefinition;Lorg/jooq/meta/UniqueKeyDefinition;>;

  private transient java.util.Map<org.jooq.meta.ColumnDefinition, java.util.List<org.jooq.meta.UniqueKeyDefinition>> uniqueKeysByColumn;
    descriptor: Ljava/util/Map;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/Map<Lorg/jooq/meta/ColumnDefinition;Ljava/util/List<Lorg/jooq/meta/UniqueKeyDefinition;>;>;

  private transient java.util.Map<org.jooq.meta.ColumnDefinition, java.util.List<org.jooq.meta.ForeignKeyDefinition>> foreignKeysByColumn;
    descriptor: Ljava/util/Map;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/Map<Lorg/jooq/meta/ColumnDefinition;Ljava/util/List<Lorg/jooq/meta/ForeignKeyDefinition;>;>;

  private transient java.util.Map<org.jooq.meta.TableDefinition, java.util.List<org.jooq.meta.CheckConstraintDefinition>> checkConstraintsByTable;
    descriptor: Ljava/util/Map;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/Map<Lorg/jooq/meta/TableDefinition;Ljava/util/List<Lorg/jooq/meta/CheckConstraintDefinition;>;>;

  private java.util.Map<org.jooq.meta.DefaultRelations$Key, java.lang.Integer> nextUkColumnIndex;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lorg/jooq/meta/DefaultRelations$Key;Ljava/lang/Integer;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 56
            ldc Lorg/jooq/meta/DefaultRelations;
            invokestatic org.jooq.tools.JooqLogger.getLogger:(Ljava/lang/Class;)Lorg/jooq/tools/JooqLogger;
            putstatic org.jooq.meta.DefaultRelations.log:Lorg/jooq/tools/JooqLogger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jooq.meta.DefaultRelations this
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.jooq.meta.DefaultRelations.primaryKeys:Ljava/util/Map;
         2: .line 59
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.jooq.meta.DefaultRelations.uniqueKeys:Ljava/util/Map;
         3: .line 60
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.jooq.meta.DefaultRelations.foreignKeys:Ljava/util/Map;
         4: .line 61
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.jooq.meta.DefaultRelations.checkConstraints:Ljava/util/Map;
         5: .line 62
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.jooq.meta.DefaultRelations.incompleteKeys:Ljava/util/Set;
         6: .line 214
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.jooq.meta.DefaultRelations.nextUkColumnIndex:Ljava/util/Map;
         7: .line 54
            return
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/jooq/meta/DefaultRelations;

  public void addPrimaryKey(java.lang.String, org.jooq.meta.TableDefinition, org.jooq.meta.ColumnDefinition);
    descriptor: (Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // java.lang.String keyName
        start local 2 // org.jooq.meta.TableDefinition table
        start local 3 // org.jooq.meta.ColumnDefinition column
         0: .line 70
            aload 0 /* this */
            aload 1 /* keyName */
            aload 2 /* table */
            aload 3 /* column */
            iconst_1
            invokevirtual org.jooq.meta.DefaultRelations.addPrimaryKey:(Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;Z)V
         1: .line 71
            return
        end local 3 // org.jooq.meta.ColumnDefinition column
        end local 2 // org.jooq.meta.TableDefinition table
        end local 1 // java.lang.String keyName
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jooq/meta/DefaultRelations;
            0    2     1  keyName  Ljava/lang/String;
            0    2     2    table  Lorg/jooq/meta/TableDefinition;
            0    2     3   column  Lorg/jooq/meta/ColumnDefinition;
    MethodParameters:
         Name  Flags
      keyName  
      table    
      column   

  public void addPrimaryKey(java.lang.String, org.jooq.meta.TableDefinition, org.jooq.meta.ColumnDefinition, boolean);
    descriptor: (Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // java.lang.String keyName
        start local 2 // org.jooq.meta.TableDefinition table
        start local 3 // org.jooq.meta.ColumnDefinition column
        start local 4 // boolean enforced
         0: .line 74
            aload 2 /* table */
            aload 1 /* keyName */
            invokestatic org.jooq.meta.DefaultRelations.key:(Lorg/jooq/meta/TableDefinition;Ljava/lang/String;)Lorg/jooq/meta/DefaultRelations$Key;
            astore 5 /* key */
        start local 5 // org.jooq.meta.DefaultRelations$Key key
         1: .line 78
            aload 3 /* column */
            ifnonnull 8
         2: .line 79
            getstatic org.jooq.meta.DefaultRelations.log:Lorg/jooq/tools/JooqLogger;
            ldc "Ignoring primary key"
            new java.lang.StringBuilder
            dup
            aload 1 /* keyName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " (column unavailable)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jooq.tools.JooqLogger.info:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 82
            aload 2 /* table */
            ifnull 7
         4: .line 83
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.incompleteKeys:Ljava/util/Set;
            aload 5 /* key */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 84
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.primaryKeys:Ljava/util/Map;
            aload 5 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 85
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.uniqueKeys:Ljava/util/Map;
            aload 5 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 88
      StackMap locals: org.jooq.meta.DefaultRelations$Key
      StackMap stack:
            return
         8: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.incompleteKeys:Ljava/util/Set;
            aload 5 /* key */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 92
            return
        10: .line 94
      StackMap locals:
      StackMap stack:
            getstatic org.jooq.meta.DefaultRelations.log:Lorg/jooq/tools/JooqLogger;
            invokevirtual org.jooq.tools.JooqLogger.isDebugEnabled:()Z
            ifeq 12
        11: .line 95
            getstatic org.jooq.meta.DefaultRelations.log:Lorg/jooq/tools/JooqLogger;
            ldc "Adding primary key"
            new java.lang.StringBuilder
            dup
            aload 1 /* keyName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* column */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jooq.tools.JooqLogger.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 97
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keyName */
            aload 2 /* table */
            aload 3 /* column */
            iconst_1
            iload 4 /* enforced */
            invokevirtual org.jooq.meta.DefaultRelations.getUniqueKey:(Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;ZZ)Lorg/jooq/meta/UniqueKeyDefinition;
            astore 6 /* result */
        start local 6 // org.jooq.meta.UniqueKeyDefinition result
        13: .line 98
            aload 6 /* result */
            invokeinterface org.jooq.meta.UniqueKeyDefinition.getKeyColumns:()Ljava/util/List;
            aload 3 /* column */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 99
            return
        end local 6 // org.jooq.meta.UniqueKeyDefinition result
        end local 5 // org.jooq.meta.DefaultRelations$Key key
        end local 4 // boolean enforced
        end local 3 // org.jooq.meta.ColumnDefinition column
        end local 2 // org.jooq.meta.TableDefinition table
        end local 1 // java.lang.String keyName
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/jooq/meta/DefaultRelations;
            0   15     1   keyName  Ljava/lang/String;
            0   15     2     table  Lorg/jooq/meta/TableDefinition;
            0   15     3    column  Lorg/jooq/meta/ColumnDefinition;
            0   15     4  enforced  Z
            1   15     5       key  Lorg/jooq/meta/DefaultRelations$Key;
           13   15     6    result  Lorg/jooq/meta/UniqueKeyDefinition;
    MethodParameters:
          Name  Flags
      keyName   
      table     
      column    
      enforced  

  public void addUniqueKey(java.lang.String, org.jooq.meta.TableDefinition, org.jooq.meta.ColumnDefinition);
    descriptor: (Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // java.lang.String keyName
        start local 2 // org.jooq.meta.TableDefinition table
        start local 3 // org.jooq.meta.ColumnDefinition column
         0: .line 102
            aload 0 /* this */
            aload 1 /* keyName */
            aload 2 /* table */
            aload 3 /* column */
            iconst_1
            invokevirtual org.jooq.meta.DefaultRelations.addUniqueKey:(Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;Z)V
         1: .line 103
            return
        end local 3 // org.jooq.meta.ColumnDefinition column
        end local 2 // org.jooq.meta.TableDefinition table
        end local 1 // java.lang.String keyName
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jooq/meta/DefaultRelations;
            0    2     1  keyName  Ljava/lang/String;
            0    2     2    table  Lorg/jooq/meta/TableDefinition;
            0    2     3   column  Lorg/jooq/meta/ColumnDefinition;
    MethodParameters:
         Name  Flags
      keyName  
      table    
      column   

  public void addUniqueKey(java.lang.String, org.jooq.meta.TableDefinition, org.jooq.meta.ColumnDefinition, boolean);
    descriptor: (Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // java.lang.String keyName
        start local 2 // org.jooq.meta.TableDefinition table
        start local 3 // org.jooq.meta.ColumnDefinition column
        start local 4 // boolean enforced
         0: .line 106
            aload 2 /* table */
            aload 1 /* keyName */
            invokestatic org.jooq.meta.DefaultRelations.key:(Lorg/jooq/meta/TableDefinition;Ljava/lang/String;)Lorg/jooq/meta/DefaultRelations$Key;
            astore 5 /* key */
        start local 5 // org.jooq.meta.DefaultRelations$Key key
         1: .line 110
            aload 3 /* column */
            ifnonnull 7
         2: .line 111
            getstatic org.jooq.meta.DefaultRelations.log:Lorg/jooq/tools/JooqLogger;
            ldc "Ignoring unique key"
            new java.lang.StringBuilder
            dup
            aload 1 /* keyName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " (column unavailable)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jooq.tools.JooqLogger.info:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 114
            aload 2 /* table */
            ifnull 6
         4: .line 115
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.incompleteKeys:Ljava/util/Set;
            aload 5 /* key */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 116
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.uniqueKeys:Ljava/util/Map;
            aload 5 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 119
      StackMap locals: org.jooq.meta.DefaultRelations$Key
      StackMap stack:
            return
         7: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.incompleteKeys:Ljava/util/Set;
            aload 5 /* key */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 123
            return
         9: .line 125
      StackMap locals:
      StackMap stack:
            getstatic org.jooq.meta.DefaultRelations.log:Lorg/jooq/tools/JooqLogger;
            invokevirtual org.jooq.tools.JooqLogger.isDebugEnabled:()Z
            ifeq 11
        10: .line 126
            getstatic org.jooq.meta.DefaultRelations.log:Lorg/jooq/tools/JooqLogger;
            ldc "Adding unique key"
            new java.lang.StringBuilder
            dup
            aload 1 /* keyName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* column */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jooq.tools.JooqLogger.debug:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keyName */
            aload 2 /* table */
            aload 3 /* column */
            iconst_0
            iload 4 /* enforced */
            invokevirtual org.jooq.meta.DefaultRelations.getUniqueKey:(Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;ZZ)Lorg/jooq/meta/UniqueKeyDefinition;
            astore 6 /* result */
        start local 6 // org.jooq.meta.UniqueKeyDefinition result
        12: .line 129
            aload 6 /* result */
            invokeinterface org.jooq.meta.UniqueKeyDefinition.getKeyColumns:()Ljava/util/List;
            aload 3 /* column */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        13: .line 130
            return
        end local 6 // org.jooq.meta.UniqueKeyDefinition result
        end local 5 // org.jooq.meta.DefaultRelations$Key key
        end local 4 // boolean enforced
        end local 3 // org.jooq.meta.ColumnDefinition column
        end local 2 // org.jooq.meta.TableDefinition table
        end local 1 // java.lang.String keyName
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lorg/jooq/meta/DefaultRelations;
            0   14     1   keyName  Ljava/lang/String;
            0   14     2     table  Lorg/jooq/meta/TableDefinition;
            0   14     3    column  Lorg/jooq/meta/ColumnDefinition;
            0   14     4  enforced  Z
            1   14     5       key  Lorg/jooq/meta/DefaultRelations$Key;
           12   14     6    result  Lorg/jooq/meta/UniqueKeyDefinition;
    MethodParameters:
          Name  Flags
      keyName   
      table     
      column    
      enforced  

  public void overridePrimaryKey(org.jooq.meta.UniqueKeyDefinition);
    descriptor: (Lorg/jooq/meta/UniqueKeyDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // org.jooq.meta.UniqueKeyDefinition key
         0: .line 133
            aconst_null
            astore 2 /* old */
        start local 2 // org.jooq.meta.UniqueKeyDefinition old
         1: .line 136
            aload 0 /* this */
            aconst_null
            putfield org.jooq.meta.DefaultRelations.primaryKeysByColumn:Ljava/util/Map;
         2: .line 137
            aload 0 /* this */
            aconst_null
            putfield org.jooq.meta.DefaultRelations.uniqueKeysByColumn:Ljava/util/Map;
         3: .line 140
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.primaryKeys:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         4: .line 141
            goto 10
         5: .line 142
      StackMap locals: org.jooq.meta.UniqueKeyDefinition java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
         6: .line 144
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jooq.meta.UniqueKeyDefinition
            invokeinterface org.jooq.meta.UniqueKeyDefinition.getTable:()Lorg/jooq/meta/TableDefinition;
            aload 1 /* key */
            invokeinterface org.jooq.meta.UniqueKeyDefinition.getTable:()Lorg/jooq/meta/TableDefinition;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         7: .line 145
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jooq.meta.UniqueKeyDefinition
            astore 2 /* old */
         8: .line 146
            aload 3 /* it */
            invokeinterface java.util.Iterator.remove:()V
         9: .line 147
            goto 11
        end local 4 // java.util.Map$Entry entry
        10: .line 141
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        11: .line 152
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            invokeinterface org.jooq.meta.UniqueKeyDefinition.getTable:()Lorg/jooq/meta/TableDefinition;
            aload 1 /* key */
            invokeinterface org.jooq.meta.UniqueKeyDefinition.getName:()Ljava/lang/String;
            invokestatic org.jooq.meta.DefaultRelations.key:(Lorg/jooq/meta/TableDefinition;Ljava/lang/String;)Lorg/jooq/meta/DefaultRelations$Key;
            astore 4 /* mapKey */
        start local 4 // org.jooq.meta.DefaultRelations$Key mapKey
        12: .line 153
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.incompleteKeys:Ljava/util/Set;
            aload 4 /* mapKey */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 154
            return
        14: .line 156
      StackMap locals: org.jooq.meta.DefaultRelations$Key
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.primaryKeys:Ljava/util/Map;
            aload 4 /* mapKey */
            aload 1 /* key */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 157
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.uniqueKeys:Ljava/util/Map;
            aload 4 /* mapKey */
            aload 1 /* key */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 158
            getstatic org.jooq.meta.DefaultRelations.log:Lorg/jooq/tools/JooqLogger;
            ldc "Overriding primary key"
            new java.lang.StringBuilder
            dup
            ldc "Table : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokeinterface org.jooq.meta.UniqueKeyDefinition.getTable:()Lorg/jooq/meta/TableDefinition;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        17: .line 159
            ldc ", previous key : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* old */
            ifnonnull 18
            ldc "none"
            goto 19
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.UniqueKeyDefinition org.jooq.meta.UniqueKeyDefinition java.util.Iterator org.jooq.meta.DefaultRelations$Key
      StackMap stack: org.jooq.tools.JooqLogger java.lang.String java.lang.StringBuilder
        18: aload 2 /* old */
            invokeinterface org.jooq.meta.UniqueKeyDefinition.getName:()Ljava/lang/String;
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.UniqueKeyDefinition org.jooq.meta.UniqueKeyDefinition java.util.Iterator org.jooq.meta.DefaultRelations$Key
      StackMap stack: org.jooq.tools.JooqLogger java.lang.String java.lang.StringBuilder java.lang.String
        19: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 160
            ldc ", new key : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* key */
            invokeinterface org.jooq.meta.UniqueKeyDefinition.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 158
            invokevirtual org.jooq.tools.JooqLogger.info:(Ljava/lang/Object;Ljava/lang/Object;)V
        22: .line 161
            return
        end local 4 // org.jooq.meta.DefaultRelations$Key mapKey
        end local 3 // java.util.Iterator it
        end local 2 // org.jooq.meta.UniqueKeyDefinition old
        end local 1 // org.jooq.meta.UniqueKeyDefinition key
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0    this  Lorg/jooq/meta/DefaultRelations;
            0   23     1     key  Lorg/jooq/meta/UniqueKeyDefinition;
            1   23     2     old  Lorg/jooq/meta/UniqueKeyDefinition;
            4   23     3      it  Ljava/util/Iterator<Ljava/util/Map$Entry<Lorg/jooq/meta/DefaultRelations$Key;Lorg/jooq/meta/UniqueKeyDefinition;>;>;
            6   10     4   entry  Ljava/util/Map$Entry<Lorg/jooq/meta/DefaultRelations$Key;Lorg/jooq/meta/UniqueKeyDefinition;>;
           12   23     4  mapKey  Lorg/jooq/meta/DefaultRelations$Key;
    MethodParameters:
      Name  Flags
      key   

  private org.jooq.meta.UniqueKeyDefinition getUniqueKey(java.lang.String, org.jooq.meta.TableDefinition, org.jooq.meta.ColumnDefinition, boolean, boolean);
    descriptor: (Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;ZZ)Lorg/jooq/meta/UniqueKeyDefinition;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // java.lang.String keyName
        start local 2 // org.jooq.meta.TableDefinition table
        start local 3 // org.jooq.meta.ColumnDefinition column
        start local 4 // boolean isPK
        start local 5 // boolean enforced
         0: .line 164
            aload 2 /* table */
            aload 1 /* keyName */
            invokestatic org.jooq.meta.DefaultRelations.key:(Lorg/jooq/meta/TableDefinition;Ljava/lang/String;)Lorg/jooq/meta/DefaultRelations$Key;
            astore 6 /* key */
        start local 6 // org.jooq.meta.DefaultRelations$Key key
         1: .line 165
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.uniqueKeys:Ljava/util/Map;
            aload 6 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jooq.meta.UniqueKeyDefinition
            astore 7 /* result */
        start local 7 // org.jooq.meta.UniqueKeyDefinition result
         2: .line 167
            aload 7 /* result */
            ifnonnull 7
         3: .line 168
            new org.jooq.meta.DefaultUniqueKeyDefinition
            dup
            aload 3 /* column */
            invokeinterface org.jooq.meta.ColumnDefinition.getSchema:()Lorg/jooq/meta/SchemaDefinition;
            aload 1 /* keyName */
            aload 2 /* table */
            iload 4 /* isPK */
            iload 5 /* enforced */
            invokespecial org.jooq.meta.DefaultUniqueKeyDefinition.<init>:(Lorg/jooq/meta/SchemaDefinition;Ljava/lang/String;Lorg/jooq/meta/TableDefinition;ZZ)V
            astore 7 /* result */
         4: .line 169
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.uniqueKeys:Ljava/util/Map;
            aload 6 /* key */
            aload 7 /* result */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 171
            iload 4 /* isPK */
            ifeq 7
         6: .line 172
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.primaryKeys:Ljava/util/Map;
            aload 6 /* key */
            aload 7 /* result */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 175
      StackMap locals: org.jooq.meta.DefaultRelations$Key org.jooq.meta.UniqueKeyDefinition
      StackMap stack:
            aload 7 /* result */
            areturn
        end local 7 // org.jooq.meta.UniqueKeyDefinition result
        end local 6 // org.jooq.meta.DefaultRelations$Key key
        end local 5 // boolean enforced
        end local 4 // boolean isPK
        end local 3 // org.jooq.meta.ColumnDefinition column
        end local 2 // org.jooq.meta.TableDefinition table
        end local 1 // java.lang.String keyName
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/jooq/meta/DefaultRelations;
            0    8     1   keyName  Ljava/lang/String;
            0    8     2     table  Lorg/jooq/meta/TableDefinition;
            0    8     3    column  Lorg/jooq/meta/ColumnDefinition;
            0    8     4      isPK  Z
            0    8     5  enforced  Z
            1    8     6       key  Lorg/jooq/meta/DefaultRelations$Key;
            2    8     7    result  Lorg/jooq/meta/UniqueKeyDefinition;
    MethodParameters:
          Name  Flags
      keyName   
      table     
      column    
      isPK      
      enforced  

  public void addForeignKey(java.lang.String, org.jooq.meta.TableDefinition, org.jooq.meta.ColumnDefinition, java.lang.String, org.jooq.meta.TableDefinition);
    descriptor: (Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;Ljava/lang/String;Lorg/jooq/meta/TableDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // java.lang.String foreignKeyName
        start local 2 // org.jooq.meta.TableDefinition foreignKeyTable
        start local 3 // org.jooq.meta.ColumnDefinition foreignKeyColumn
        start local 4 // java.lang.String uniqueKeyName
        start local 5 // org.jooq.meta.TableDefinition uniqueKeyTable
         0: .line 184
            aload 0 /* this */
            aload 1 /* foreignKeyName */
            aload 2 /* foreignKeyTable */
            aload 3 /* foreignKeyColumn */
            aload 4 /* uniqueKeyName */
            aload 5 /* uniqueKeyTable */
            iconst_1
            invokevirtual org.jooq.meta.DefaultRelations.addForeignKey:(Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Z)V
         1: .line 185
            return
        end local 5 // org.jooq.meta.TableDefinition uniqueKeyTable
        end local 4 // java.lang.String uniqueKeyName
        end local 3 // org.jooq.meta.ColumnDefinition foreignKeyColumn
        end local 2 // org.jooq.meta.TableDefinition foreignKeyTable
        end local 1 // java.lang.String foreignKeyName
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/jooq/meta/DefaultRelations;
            0    2     1    foreignKeyName  Ljava/lang/String;
            0    2     2   foreignKeyTable  Lorg/jooq/meta/TableDefinition;
            0    2     3  foreignKeyColumn  Lorg/jooq/meta/ColumnDefinition;
            0    2     4     uniqueKeyName  Ljava/lang/String;
            0    2     5    uniqueKeyTable  Lorg/jooq/meta/TableDefinition;
    MethodParameters:
                  Name  Flags
      foreignKeyName    
      foreignKeyTable   
      foreignKeyColumn  
      uniqueKeyName     
      uniqueKeyTable    

  public void addForeignKey(java.lang.String, org.jooq.meta.TableDefinition, org.jooq.meta.ColumnDefinition, java.lang.String, org.jooq.meta.TableDefinition, boolean);
    descriptor: (Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=7
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // java.lang.String foreignKeyName
        start local 2 // org.jooq.meta.TableDefinition foreignKeyTable
        start local 3 // org.jooq.meta.ColumnDefinition foreignKeyColumn
        start local 4 // java.lang.String uniqueKeyName
        start local 5 // org.jooq.meta.TableDefinition uniqueKeyTable
        start local 6 // boolean enforced
         0: .line 195
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.uniqueKeys:Ljava/util/Map;
            aload 5 /* uniqueKeyTable */
            aload 4 /* uniqueKeyName */
            invokestatic org.jooq.meta.DefaultRelations.key:(Lorg/jooq/meta/TableDefinition;Ljava/lang/String;)Lorg/jooq/meta/DefaultRelations$Key;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jooq.meta.UniqueKeyDefinition
            astore 7 /* uk */
        start local 7 // org.jooq.meta.UniqueKeyDefinition uk
         1: .line 196
            aload 2 /* foreignKeyTable */
            aload 1 /* foreignKeyName */
            invokestatic org.jooq.meta.DefaultRelations.key:(Lorg/jooq/meta/TableDefinition;Ljava/lang/String;)Lorg/jooq/meta/DefaultRelations$Key;
            astore 8 /* key */
        start local 8 // org.jooq.meta.DefaultRelations$Key key
         2: .line 198
            aload 7 /* uk */
            ifnonnull 8
         3: .line 199
            getstatic org.jooq.meta.DefaultRelations.log:Lorg/jooq/tools/JooqLogger;
            ldc "Ignoring foreign key"
            new java.lang.StringBuilder
            dup
            aload 4 /* uniqueKeyName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " (unique key unavailable)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jooq.tools.JooqLogger.info:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 202
            aload 2 /* foreignKeyTable */
            ifnull 7
         5: .line 204
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.incompleteKeys:Ljava/util/Set;
            aload 8 /* key */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         6: .line 205
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.foreignKeys:Ljava/util/Map;
            aload 8 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 208
      StackMap locals: org.jooq.meta.UniqueKeyDefinition org.jooq.meta.DefaultRelations$Key
      StackMap stack:
            return
         8: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* foreignKeyName */
            aload 2 /* foreignKeyTable */
            aload 3 /* foreignKeyColumn */
            aload 4 /* uniqueKeyName */
            aload 5 /* uniqueKeyTable */
            aload 0 /* this */
            aload 8 /* key */
            aload 7 /* uk */
            invokevirtual org.jooq.meta.DefaultRelations.getNextUkColumn:(Lorg/jooq/meta/DefaultRelations$Key;Lorg/jooq/meta/UniqueKeyDefinition;)Lorg/jooq/meta/ColumnDefinition;
            iload 6 /* enforced */
            invokevirtual org.jooq.meta.DefaultRelations.addForeignKey:(Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;Z)V
         9: .line 212
            return
        end local 8 // org.jooq.meta.DefaultRelations$Key key
        end local 7 // org.jooq.meta.UniqueKeyDefinition uk
        end local 6 // boolean enforced
        end local 5 // org.jooq.meta.TableDefinition uniqueKeyTable
        end local 4 // java.lang.String uniqueKeyName
        end local 3 // org.jooq.meta.ColumnDefinition foreignKeyColumn
        end local 2 // org.jooq.meta.TableDefinition foreignKeyTable
        end local 1 // java.lang.String foreignKeyName
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lorg/jooq/meta/DefaultRelations;
            0   10     1    foreignKeyName  Ljava/lang/String;
            0   10     2   foreignKeyTable  Lorg/jooq/meta/TableDefinition;
            0   10     3  foreignKeyColumn  Lorg/jooq/meta/ColumnDefinition;
            0   10     4     uniqueKeyName  Ljava/lang/String;
            0   10     5    uniqueKeyTable  Lorg/jooq/meta/TableDefinition;
            0   10     6          enforced  Z
            1   10     7                uk  Lorg/jooq/meta/UniqueKeyDefinition;
            2   10     8               key  Lorg/jooq/meta/DefaultRelations$Key;
    MethodParameters:
                  Name  Flags
      foreignKeyName    
      foreignKeyTable   
      foreignKeyColumn  
      uniqueKeyName     
      uniqueKeyTable    
      enforced          

  private org.jooq.meta.ColumnDefinition getNextUkColumn(org.jooq.meta.DefaultRelations$Key, org.jooq.meta.UniqueKeyDefinition);
    descriptor: (Lorg/jooq/meta/DefaultRelations$Key;Lorg/jooq/meta/UniqueKeyDefinition;)Lorg/jooq/meta/ColumnDefinition;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // org.jooq.meta.DefaultRelations$Key key
        start local 2 // org.jooq.meta.UniqueKeyDefinition uk
         0: .line 217
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.nextUkColumnIndex:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 3 /* index */
        start local 3 // java.lang.Integer index
         1: .line 219
            aload 3 /* index */
            ifnonnull 3
         2: .line 220
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.nextUkColumnIndex:Ljava/util/Map;
            aload 1 /* key */
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            dup
            astore 3 /* index */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
            goto 4
         3: .line 222
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.nextUkColumnIndex:Ljava/util/Map;
            aload 1 /* key */
            aload 3 /* index */
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            dup
            astore 3 /* index */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 224
      StackMap locals:
      StackMap stack:
            aload 3 /* index */
            invokevirtual java.lang.Integer.intValue:()I
            aload 2 /* uk */
            invokeinterface org.jooq.meta.UniqueKeyDefinition.getKeyColumns:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 5
            aload 2 /* uk */
            invokeinterface org.jooq.meta.UniqueKeyDefinition.getKeyColumns:()Ljava/util/List;
            aload 3 /* index */
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jooq.meta.ColumnDefinition
            goto 6
      StackMap locals:
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: org.jooq.meta.ColumnDefinition
         6: areturn
        end local 3 // java.lang.Integer index
        end local 2 // org.jooq.meta.UniqueKeyDefinition uk
        end local 1 // org.jooq.meta.DefaultRelations$Key key
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/jooq/meta/DefaultRelations;
            0    7     1    key  Lorg/jooq/meta/DefaultRelations$Key;
            0    7     2     uk  Lorg/jooq/meta/UniqueKeyDefinition;
            1    7     3  index  Ljava/lang/Integer;
    MethodParameters:
      Name  Flags
      key   
      uk    

  public void addForeignKey(java.lang.String, org.jooq.meta.TableDefinition, org.jooq.meta.ColumnDefinition, java.lang.String, org.jooq.meta.TableDefinition, org.jooq.meta.ColumnDefinition, boolean);
    descriptor: (Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/ColumnDefinition;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=8
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // java.lang.String foreignKeyName
        start local 2 // org.jooq.meta.TableDefinition foreignKeyTable
        start local 3 // org.jooq.meta.ColumnDefinition foreignKeyColumn
        start local 4 // java.lang.String uniqueKeyName
        start local 5 // org.jooq.meta.TableDefinition uniqueKeyTable
        start local 6 // org.jooq.meta.ColumnDefinition uniqueKeyColumn
        start local 7 // boolean enforced
         0: .line 238
            aload 2 /* foreignKeyTable */
            aload 1 /* foreignKeyName */
            invokestatic org.jooq.meta.DefaultRelations.key:(Lorg/jooq/meta/TableDefinition;Ljava/lang/String;)Lorg/jooq/meta/DefaultRelations$Key;
            astore 8 /* key */
        start local 8 // org.jooq.meta.DefaultRelations$Key key
         1: .line 239
            aload 3 /* foreignKeyColumn */
            ifnull 2
            aload 6 /* uniqueKeyColumn */
            ifnonnull 7
         2: .line 240
      StackMap locals: org.jooq.meta.DefaultRelations$Key
      StackMap stack:
            getstatic org.jooq.meta.DefaultRelations.log:Lorg/jooq/tools/JooqLogger;
            ldc "Ignoring foreign key"
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 3 /* foreignKeyColumn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " referencing "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* uniqueKeyColumn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " (column unavailable)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jooq.tools.JooqLogger.info:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 243
            aload 2 /* foreignKeyTable */
            ifnull 6
         4: .line 244
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.incompleteKeys:Ljava/util/Set;
            aload 8 /* key */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 245
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.foreignKeys:Ljava/util/Map;
            aload 8 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 248
      StackMap locals:
      StackMap stack:
            return
         7: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.incompleteKeys:Ljava/util/Set;
            aload 8 /* key */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 252
            return
         9: .line 256
      StackMap locals:
      StackMap stack:
            aload 5 /* uniqueKeyTable */
            ifnonnull 12
        10: .line 257
            getstatic org.jooq.meta.DefaultRelations.log:Lorg/jooq/tools/JooqLogger;
            ldc "Ignoring foreign key"
            new java.lang.StringBuilder
            dup
            aload 1 /* foreignKeyName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* foreignKeyColumn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") referencing "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* uniqueKeyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* uniqueKeyColumn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") references a schema out of scope for jooq-meta: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* uniqueKeyTable */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jooq.tools.JooqLogger.info:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 258
            return
        12: .line 261
      StackMap locals:
      StackMap stack:
            getstatic org.jooq.meta.DefaultRelations.log:Lorg/jooq/tools/JooqLogger;
            ldc "Adding foreign key"
            new java.lang.StringBuilder
            dup
            aload 1 /* foreignKeyName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* foreignKeyColumn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") referencing "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* uniqueKeyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* uniqueKeyColumn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jooq.tools.JooqLogger.info:(Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 263
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.foreignKeys:Ljava/util/Map;
            aload 8 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jooq.meta.ForeignKeyDefinition
            astore 9 /* foreignKey */
        start local 9 // org.jooq.meta.ForeignKeyDefinition foreignKey
        14: .line 265
            aload 9 /* foreignKey */
            ifnonnull 26
        15: .line 266
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.uniqueKeys:Ljava/util/Map;
            aload 5 /* uniqueKeyTable */
            aload 4 /* uniqueKeyName */
            invokestatic org.jooq.meta.DefaultRelations.key:(Lorg/jooq/meta/TableDefinition;Ljava/lang/String;)Lorg/jooq/meta/DefaultRelations$Key;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jooq.meta.UniqueKeyDefinition
            astore 10 /* uniqueKey */
        start local 10 // org.jooq.meta.UniqueKeyDefinition uniqueKey
        16: .line 269
            aload 10 /* uniqueKey */
            ifnull 26
        17: .line 270
            new org.jooq.meta.DefaultForeignKeyDefinition
            dup
        18: .line 271
            aload 3 /* foreignKeyColumn */
            invokeinterface org.jooq.meta.ColumnDefinition.getSchema:()Lorg/jooq/meta/SchemaDefinition;
        19: .line 272
            aload 1 /* foreignKeyName */
        20: .line 273
            aload 3 /* foreignKeyColumn */
            invokeinterface org.jooq.meta.ColumnDefinition.getContainer:()Lorg/jooq/meta/Definition;
            checkcast org.jooq.meta.TableDefinition
        21: .line 274
            aload 10 /* uniqueKey */
        22: .line 275
            iload 7 /* enforced */
        23: .line 270
            invokespecial org.jooq.meta.DefaultForeignKeyDefinition.<init>:(Lorg/jooq/meta/SchemaDefinition;Ljava/lang/String;Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/UniqueKeyDefinition;Z)V
            astore 9 /* foreignKey */
        24: .line 278
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.foreignKeys:Ljava/util/Map;
            aload 8 /* key */
            aload 9 /* foreignKey */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 279
            aload 10 /* uniqueKey */
            invokeinterface org.jooq.meta.UniqueKeyDefinition.getForeignKeys:()Ljava/util/List;
            aload 9 /* foreignKey */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // org.jooq.meta.UniqueKeyDefinition uniqueKey
        26: .line 283
      StackMap locals: org.jooq.meta.ForeignKeyDefinition
      StackMap stack:
            aload 9 /* foreignKey */
            ifnull 29
        27: .line 284
            aload 9 /* foreignKey */
            invokeinterface org.jooq.meta.ForeignKeyDefinition.getKeyColumns:()Ljava/util/List;
            aload 3 /* foreignKeyColumn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        28: .line 285
            aload 9 /* foreignKey */
            invokeinterface org.jooq.meta.ForeignKeyDefinition.getReferencedColumns:()Ljava/util/List;
            aload 6 /* uniqueKeyColumn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        29: .line 287
      StackMap locals:
      StackMap stack:
            return
        end local 9 // org.jooq.meta.ForeignKeyDefinition foreignKey
        end local 8 // org.jooq.meta.DefaultRelations$Key key
        end local 7 // boolean enforced
        end local 6 // org.jooq.meta.ColumnDefinition uniqueKeyColumn
        end local 5 // org.jooq.meta.TableDefinition uniqueKeyTable
        end local 4 // java.lang.String uniqueKeyName
        end local 3 // org.jooq.meta.ColumnDefinition foreignKeyColumn
        end local 2 // org.jooq.meta.TableDefinition foreignKeyTable
        end local 1 // java.lang.String foreignKeyName
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   30     0              this  Lorg/jooq/meta/DefaultRelations;
            0   30     1    foreignKeyName  Ljava/lang/String;
            0   30     2   foreignKeyTable  Lorg/jooq/meta/TableDefinition;
            0   30     3  foreignKeyColumn  Lorg/jooq/meta/ColumnDefinition;
            0   30     4     uniqueKeyName  Ljava/lang/String;
            0   30     5    uniqueKeyTable  Lorg/jooq/meta/TableDefinition;
            0   30     6   uniqueKeyColumn  Lorg/jooq/meta/ColumnDefinition;
            0   30     7          enforced  Z
            1   30     8               key  Lorg/jooq/meta/DefaultRelations$Key;
           14   30     9        foreignKey  Lorg/jooq/meta/ForeignKeyDefinition;
           16   26    10         uniqueKey  Lorg/jooq/meta/UniqueKeyDefinition;
    MethodParameters:
                  Name  Flags
      foreignKeyName    
      foreignKeyTable   
      foreignKeyColumn  
      uniqueKeyName     
      uniqueKeyTable    
      uniqueKeyColumn   
      enforced          

  public void addCheckConstraint(org.jooq.meta.TableDefinition, org.jooq.meta.CheckConstraintDefinition);
    descriptor: (Lorg/jooq/meta/TableDefinition;Lorg/jooq/meta/CheckConstraintDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // org.jooq.meta.TableDefinition table
        start local 2 // org.jooq.meta.CheckConstraintDefinition constraint
         0: .line 290
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.checkConstraints:Ljava/util/Map;
            aload 1 /* table */
            aload 2 /* constraint */
            invokeinterface org.jooq.meta.CheckConstraintDefinition.getName:()Ljava/lang/String;
            invokestatic org.jooq.meta.DefaultRelations.key:(Lorg/jooq/meta/TableDefinition;Ljava/lang/String;)Lorg/jooq/meta/DefaultRelations$Key;
            aload 2 /* constraint */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 291
            return
        end local 2 // org.jooq.meta.CheckConstraintDefinition constraint
        end local 1 // org.jooq.meta.TableDefinition table
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jooq/meta/DefaultRelations;
            0    2     1       table  Lorg/jooq/meta/TableDefinition;
            0    2     2  constraint  Lorg/jooq/meta/CheckConstraintDefinition;
    MethodParameters:
            Name  Flags
      table       
      constraint  

  public org.jooq.meta.UniqueKeyDefinition getPrimaryKey(org.jooq.meta.ColumnDefinition);
    descriptor: (Lorg/jooq/meta/ColumnDefinition;)Lorg/jooq/meta/UniqueKeyDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // org.jooq.meta.ColumnDefinition column
         0: .line 295
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.primaryKeysByColumn:Ljava/util/Map;
            ifnonnull 9
         1: .line 296
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.jooq.meta.DefaultRelations.primaryKeysByColumn:Ljava/util/Map;
         2: .line 298
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.primaryKeys:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jooq.meta.UniqueKeyDefinition
            astore 2 /* primaryKey */
        start local 2 // org.jooq.meta.UniqueKeyDefinition primaryKey
         4: .line 299
            aload 2 /* primaryKey */
            invokeinterface org.jooq.meta.UniqueKeyDefinition.getKeyColumns:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition org.jooq.meta.UniqueKeyDefinition java.util.Iterator top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jooq.meta.ColumnDefinition
            astore 4 /* keyColumn */
        start local 4 // org.jooq.meta.ColumnDefinition keyColumn
         6: .line 300
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.primaryKeysByColumn:Ljava/util/Map;
            aload 4 /* keyColumn */
            aload 2 /* primaryKey */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // org.jooq.meta.ColumnDefinition keyColumn
         7: .line 299
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 2 // org.jooq.meta.UniqueKeyDefinition primaryKey
         8: .line 298
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 303
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.primaryKeysByColumn:Ljava/util/Map;
            aload 1 /* column */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.jooq.meta.UniqueKeyDefinition
            areturn
        end local 1 // org.jooq.meta.ColumnDefinition column
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/jooq/meta/DefaultRelations;
            0   10     1      column  Lorg/jooq/meta/ColumnDefinition;
            4    8     2  primaryKey  Lorg/jooq/meta/UniqueKeyDefinition;
            6    7     4   keyColumn  Lorg/jooq/meta/ColumnDefinition;
    MethodParameters:
        Name  Flags
      column  

  public java.util.List<org.jooq.meta.UniqueKeyDefinition> getUniqueKeys(org.jooq.meta.ColumnDefinition);
    descriptor: (Lorg/jooq/meta/ColumnDefinition;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // org.jooq.meta.ColumnDefinition column
         0: .line 308
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.uniqueKeysByColumn:Ljava/util/Map;
            ifnonnull 13
         1: .line 309
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.jooq.meta.DefaultRelations.uniqueKeysByColumn:Ljava/util/Map;
         2: .line 311
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.uniqueKeys:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jooq.meta.UniqueKeyDefinition
            astore 2 /* uniqueKey */
        start local 2 // org.jooq.meta.UniqueKeyDefinition uniqueKey
         4: .line 312
            aload 2 /* uniqueKey */
            invokeinterface org.jooq.meta.UniqueKeyDefinition.getKeyColumns:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition org.jooq.meta.UniqueKeyDefinition java.util.Iterator top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jooq.meta.ColumnDefinition
            astore 4 /* keyColumn */
        start local 4 // org.jooq.meta.ColumnDefinition keyColumn
         6: .line 313
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.uniqueKeysByColumn:Ljava/util/Map;
            aload 4 /* keyColumn */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 6 /* list */
        start local 6 // java.util.List list
         7: .line 315
            aload 6 /* list */
            ifnonnull 10
         8: .line 316
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* list */
         9: .line 317
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.uniqueKeysByColumn:Ljava/util/Map;
            aload 4 /* keyColumn */
            aload 6 /* list */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 320
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition org.jooq.meta.UniqueKeyDefinition java.util.Iterator org.jooq.meta.ColumnDefinition java.util.Iterator java.util.List
      StackMap stack:
            aload 6 /* list */
            aload 2 /* uniqueKey */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.util.List list
        end local 4 // org.jooq.meta.ColumnDefinition keyColumn
        11: .line 312
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition org.jooq.meta.UniqueKeyDefinition java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 2 // org.jooq.meta.UniqueKeyDefinition uniqueKey
        12: .line 311
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        13: .line 325
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.uniqueKeysByColumn:Ljava/util/Map;
            aload 1 /* column */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* list */
        start local 2 // java.util.List list
        14: .line 326
            aload 2 /* list */
            ifnull 15
            aload 2 /* list */
            goto 16
      StackMap locals: java.util.List
      StackMap stack:
        15: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
      StackMap locals:
      StackMap stack: java.util.List
        16: areturn
        end local 2 // java.util.List list
        end local 1 // org.jooq.meta.ColumnDefinition column
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/jooq/meta/DefaultRelations;
            0   17     1     column  Lorg/jooq/meta/ColumnDefinition;
            4   12     2  uniqueKey  Lorg/jooq/meta/UniqueKeyDefinition;
            6   11     4  keyColumn  Lorg/jooq/meta/ColumnDefinition;
            7   11     6       list  Ljava/util/List<Lorg/jooq/meta/UniqueKeyDefinition;>;
           14   17     2       list  Ljava/util/List<Lorg/jooq/meta/UniqueKeyDefinition;>;
    Signature: (Lorg/jooq/meta/ColumnDefinition;)Ljava/util/List<Lorg/jooq/meta/UniqueKeyDefinition;>;
    MethodParameters:
        Name  Flags
      column  

  public java.util.List<org.jooq.meta.UniqueKeyDefinition> getUniqueKeys(org.jooq.meta.TableDefinition);
    descriptor: (Lorg/jooq/meta/TableDefinition;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // org.jooq.meta.TableDefinition table
         0: .line 331
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.Set result
         1: .line 333
            aload 1 /* table */
            invokeinterface org.jooq.meta.TableDefinition.getColumns:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.TableDefinition java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jooq.meta.ColumnDefinition
            astore 3 /* column */
        start local 3 // org.jooq.meta.ColumnDefinition column
         3: .line 334
            aload 2 /* result */
            aload 0 /* this */
            aload 3 /* column */
            invokevirtual org.jooq.meta.DefaultRelations.getUniqueKeys:(Lorg/jooq/meta/ColumnDefinition;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 3 // org.jooq.meta.ColumnDefinition column
         4: .line 333
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 336
            new java.util.ArrayList
            dup
            aload 2 /* result */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 2 // java.util.Set result
        end local 1 // org.jooq.meta.TableDefinition table
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/jooq/meta/DefaultRelations;
            0    6     1   table  Lorg/jooq/meta/TableDefinition;
            1    6     2  result  Ljava/util/Set<Lorg/jooq/meta/UniqueKeyDefinition;>;
            3    4     3  column  Lorg/jooq/meta/ColumnDefinition;
    Signature: (Lorg/jooq/meta/TableDefinition;)Ljava/util/List<Lorg/jooq/meta/UniqueKeyDefinition;>;
    MethodParameters:
       Name  Flags
      table  

  public java.util.List<org.jooq.meta.UniqueKeyDefinition> getUniqueKeys(org.jooq.meta.SchemaDefinition);
    descriptor: (Lorg/jooq/meta/SchemaDefinition;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // org.jooq.meta.SchemaDefinition schema
         0: .line 341
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.Set result
         1: .line 343
            aload 1 /* schema */
            invokevirtual org.jooq.meta.SchemaDefinition.getDatabase:()Lorg/jooq/meta/Database;
            aload 1 /* schema */
            invokeinterface org.jooq.meta.Database.getTables:(Lorg/jooq/meta/SchemaDefinition;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.SchemaDefinition java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jooq.meta.TableDefinition
            astore 3 /* table */
        start local 3 // org.jooq.meta.TableDefinition table
         3: .line 344
            aload 2 /* result */
            aload 0 /* this */
            aload 3 /* table */
            invokevirtual org.jooq.meta.DefaultRelations.getUniqueKeys:(Lorg/jooq/meta/TableDefinition;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 3 // org.jooq.meta.TableDefinition table
         4: .line 343
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 346
            new java.util.ArrayList
            dup
            aload 2 /* result */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 2 // java.util.Set result
        end local 1 // org.jooq.meta.SchemaDefinition schema
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/jooq/meta/DefaultRelations;
            0    6     1  schema  Lorg/jooq/meta/SchemaDefinition;
            1    6     2  result  Ljava/util/Set<Lorg/jooq/meta/UniqueKeyDefinition;>;
            3    4     3   table  Lorg/jooq/meta/TableDefinition;
    Signature: (Lorg/jooq/meta/SchemaDefinition;)Ljava/util/List<Lorg/jooq/meta/UniqueKeyDefinition;>;
    MethodParameters:
        Name  Flags
      schema  

  public java.util.List<org.jooq.meta.UniqueKeyDefinition> getUniqueKeys();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jooq.meta.DefaultRelations this
         0: .line 351
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.uniqueKeys:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jooq/meta/DefaultRelations;
    Signature: ()Ljava/util/List<Lorg/jooq/meta/UniqueKeyDefinition;>;

  public java.util.List<org.jooq.meta.ForeignKeyDefinition> getForeignKeys(org.jooq.meta.ColumnDefinition);
    descriptor: (Lorg/jooq/meta/ColumnDefinition;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // org.jooq.meta.ColumnDefinition column
         0: .line 356
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.foreignKeysByColumn:Ljava/util/Map;
            ifnonnull 13
         1: .line 357
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.jooq.meta.DefaultRelations.foreignKeysByColumn:Ljava/util/Map;
         2: .line 359
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.foreignKeys:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jooq.meta.ForeignKeyDefinition
            astore 2 /* foreignKey */
        start local 2 // org.jooq.meta.ForeignKeyDefinition foreignKey
         4: .line 360
            aload 2 /* foreignKey */
            invokeinterface org.jooq.meta.ForeignKeyDefinition.getKeyColumns:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition org.jooq.meta.ForeignKeyDefinition java.util.Iterator top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jooq.meta.ColumnDefinition
            astore 4 /* keyColumn */
        start local 4 // org.jooq.meta.ColumnDefinition keyColumn
         6: .line 361
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.foreignKeysByColumn:Ljava/util/Map;
            aload 4 /* keyColumn */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 6 /* list */
        start local 6 // java.util.List list
         7: .line 363
            aload 6 /* list */
            ifnonnull 10
         8: .line 364
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* list */
         9: .line 365
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.foreignKeysByColumn:Ljava/util/Map;
            aload 4 /* keyColumn */
            aload 6 /* list */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 368
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition org.jooq.meta.ForeignKeyDefinition java.util.Iterator org.jooq.meta.ColumnDefinition java.util.Iterator java.util.List
      StackMap stack:
            aload 6 /* list */
            aload 2 /* foreignKey */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.util.List list
        end local 4 // org.jooq.meta.ColumnDefinition keyColumn
        11: .line 360
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition org.jooq.meta.ForeignKeyDefinition java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 2 // org.jooq.meta.ForeignKeyDefinition foreignKey
        12: .line 359
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        13: .line 374
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.ColumnDefinition
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.foreignKeysByColumn:Ljava/util/Map;
            aload 1 /* column */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* list */
        start local 2 // java.util.List list
        14: .line 375
            aload 2 /* list */
            ifnull 15
            aload 2 /* list */
            goto 16
      StackMap locals: java.util.List
      StackMap stack:
        15: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
      StackMap locals:
      StackMap stack: java.util.List
        16: areturn
        end local 2 // java.util.List list
        end local 1 // org.jooq.meta.ColumnDefinition column
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/jooq/meta/DefaultRelations;
            0   17     1      column  Lorg/jooq/meta/ColumnDefinition;
            4   12     2  foreignKey  Lorg/jooq/meta/ForeignKeyDefinition;
            6   11     4   keyColumn  Lorg/jooq/meta/ColumnDefinition;
            7   11     6        list  Ljava/util/List<Lorg/jooq/meta/ForeignKeyDefinition;>;
           14   17     2        list  Ljava/util/List<Lorg/jooq/meta/ForeignKeyDefinition;>;
    Signature: (Lorg/jooq/meta/ColumnDefinition;)Ljava/util/List<Lorg/jooq/meta/ForeignKeyDefinition;>;
    MethodParameters:
        Name  Flags
      column  

  public java.util.List<org.jooq.meta.ForeignKeyDefinition> getForeignKeys(org.jooq.meta.TableDefinition);
    descriptor: (Lorg/jooq/meta/TableDefinition;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // org.jooq.meta.TableDefinition table
         0: .line 380
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.Set result
         1: .line 382
            aload 1 /* table */
            invokeinterface org.jooq.meta.TableDefinition.getColumns:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.TableDefinition java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.jooq.meta.ColumnDefinition
            astore 3 /* column */
        start local 3 // org.jooq.meta.ColumnDefinition column
         3: .line 383
            aload 2 /* result */
            aload 0 /* this */
            aload 3 /* column */
            invokevirtual org.jooq.meta.DefaultRelations.getForeignKeys:(Lorg/jooq/meta/ColumnDefinition;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 3 // org.jooq.meta.ColumnDefinition column
         4: .line 382
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 385
            new java.util.ArrayList
            dup
            aload 2 /* result */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 2 // java.util.Set result
        end local 1 // org.jooq.meta.TableDefinition table
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/jooq/meta/DefaultRelations;
            0    6     1   table  Lorg/jooq/meta/TableDefinition;
            1    6     2  result  Ljava/util/Set<Lorg/jooq/meta/ForeignKeyDefinition;>;
            3    4     3  column  Lorg/jooq/meta/ColumnDefinition;
    Signature: (Lorg/jooq/meta/TableDefinition;)Ljava/util/List<Lorg/jooq/meta/ForeignKeyDefinition;>;
    MethodParameters:
       Name  Flags
      table  

  public java.util.List<org.jooq.meta.CheckConstraintDefinition> getCheckConstraints(org.jooq.meta.TableDefinition);
    descriptor: (Lorg/jooq/meta/TableDefinition;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.jooq.meta.DefaultRelations this
        start local 1 // org.jooq.meta.TableDefinition table
         0: .line 390
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.checkConstraintsByTable:Ljava/util/Map;
            ifnonnull 14
         1: .line 391
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.jooq.meta.DefaultRelations.checkConstraintsByTable:Ljava/util/Map;
         2: .line 393
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.checkConstraints:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.TableDefinition top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         4: .line 394
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.checkConstraintsByTable:Ljava/util/Map;
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.jooq.meta.DefaultRelations$Key
            getfield org.jooq.meta.DefaultRelations$Key.table:Lorg/jooq/meta/TableDefinition;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* list */
        start local 4 // java.util.List list
         5: .line 396
            aload 4 /* list */
            ifnonnull 8
         6: .line 397
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* list */
         7: .line 398
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.checkConstraintsByTable:Ljava/util/Map;
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.jooq.meta.DefaultRelations$Key
            getfield org.jooq.meta.DefaultRelations$Key.table:Lorg/jooq/meta/TableDefinition;
            aload 4 /* list */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 401
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.TableDefinition java.util.Map$Entry java.util.Iterator java.util.List
      StackMap stack:
            aload 4 /* list */
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.jooq.meta.CheckConstraintDefinition
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.util.List list
        end local 2 // java.util.Map$Entry entry
         9: .line 393
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.TableDefinition top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        10: .line 404
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.checkConstraintsByTable:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 13
      StackMap locals:
      StackMap stack:
        11: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* list */
        start local 2 // java.util.List list
        12: .line 405
            aload 1 /* table */
            invokeinterface org.jooq.meta.TableDefinition.getDatabase:()Lorg/jooq/meta/Database;
            aload 2 /* list */
            invokeinterface org.jooq.meta.Database.sort:(Ljava/util/List;)Ljava/util/List;
            pop
        end local 2 // java.util.List list
        13: .line 404
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 408
      StackMap locals: org.jooq.meta.DefaultRelations org.jooq.meta.TableDefinition
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.meta.DefaultRelations.checkConstraintsByTable:Ljava/util/Map;
            aload 1 /* table */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* list */
        start local 2 // java.util.List list
        15: .line 409
            aload 2 /* list */
            ifnull 16
            aload 2 /* list */
            goto 17
      StackMap locals: java.util.List
      StackMap stack:
        16: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
      StackMap locals:
      StackMap stack: java.util.List
        17: areturn
        end local 2 // java.util.List list
        end local 1 // org.jooq.meta.TableDefinition table
        end local 0 // org.jooq.meta.DefaultRelations this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Lorg/jooq/meta/DefaultRelations;
            0   18     1  table  Lorg/jooq/meta/TableDefinition;
            4    9     2  entry  Ljava/util/Map$Entry<Lorg/jooq/meta/DefaultRelations$Key;Lorg/jooq/meta/CheckConstraintDefinition;>;
            5    9     4   list  Ljava/util/List<Lorg/jooq/meta/CheckConstraintDefinition;>;
           12   13     2   list  Ljava/util/List<Lorg/jooq/meta/CheckConstraintDefinition;>;
           15   18     2   list  Ljava/util/List<Lorg/jooq/meta/CheckConstraintDefinition;>;
    Signature: (Lorg/jooq/meta/TableDefinition;)Ljava/util/List<Lorg/jooq/meta/CheckConstraintDefinition;>;
    MethodParameters:
       Name  Flags
      table  

  private static org.jooq.meta.DefaultRelations$Key key(org.jooq.meta.TableDefinition, java.lang.String);
    descriptor: (Lorg/jooq/meta/TableDefinition;Ljava/lang/String;)Lorg/jooq/meta/DefaultRelations$Key;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jooq.meta.TableDefinition definition
        start local 1 // java.lang.String keyName
         0: .line 413
            new org.jooq.meta.DefaultRelations$Key
            dup
            aload 0 /* definition */
            aload 1 /* keyName */
            invokespecial org.jooq.meta.DefaultRelations$Key.<init>:(Lorg/jooq/meta/TableDefinition;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String keyName
        end local 0 // org.jooq.meta.TableDefinition definition
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  definition  Lorg/jooq/meta/TableDefinition;
            0    1     1     keyName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      definition  
      keyName     
}
SourceFile: "DefaultRelations.java"
NestMembers:
  org.jooq.meta.DefaultRelations$Key
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  private Key = org.jooq.meta.DefaultRelations$Key of org.jooq.meta.DefaultRelations