public class org.hibernate.engine.internal.JoinSequence
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.engine.internal.JoinSequence
  super_class: java.lang.Object
{
  private final org.hibernate.engine.spi.SessionFactoryImplementor factory;
    descriptor: Lorg/hibernate/engine/spi/SessionFactoryImplementor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean collectionJoinSubquery;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final java.util.List<org.hibernate.engine.internal.JoinSequence$Join> joins;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/hibernate/engine/internal/JoinSequence$Join;>;

  private boolean useThetaStyle;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String rootAlias;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.persister.entity.Joinable rootJoinable;
    descriptor: Lorg/hibernate/persister/entity/Joinable;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.engine.internal.JoinSequence$Selector selector;
    descriptor: Lorg/hibernate/engine/internal/JoinSequence$Selector;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.engine.internal.JoinSequence next;
    descriptor: Lorg/hibernate/engine/internal/JoinSequence;
    flags: (0x0002) ACC_PRIVATE

  private boolean isFromPart;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set<java.lang.String> treatAsDeclarations;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private static volatile int[] $SWITCH_TABLE$org$hibernate$sql$JoinType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>(org.hibernate.engine.spi.SessionFactoryImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // org.hibernate.engine.spi.SessionFactoryImplementor factory
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 41
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            putfield org.hibernate.engine.internal.JoinSequence.conditions:Ljava/lang/StringBuilder;
         2: .line 42
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
         3: .line 57
            aload 0 /* this */
            aload 1 /* factory */
            putfield org.hibernate.engine.internal.JoinSequence.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         4: .line 58
            aload 0 /* this */
            aload 1 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isCollectionJoinSubqueryRewriteEnabled:()Z
            putfield org.hibernate.engine.internal.JoinSequence.collectionJoinSubquery:Z
         5: .line 59
            return
        end local 1 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/hibernate/engine/internal/JoinSequence;
            0    6     1  factory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
    MethodParameters:
         Name  Flags
      factory  

  public org.hibernate.engine.internal.JoinSequence getFromPart();
    descriptor: ()Lorg/hibernate/engine/internal/JoinSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.hibernate.engine.internal.JoinSequence this
         0: .line 67
            new org.hibernate.engine.internal.JoinSequence
            dup
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokespecial org.hibernate.engine.internal.JoinSequence.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            astore 1 /* fromPart */
        start local 1 // org.hibernate.engine.internal.JoinSequence fromPart
         1: .line 68
            aload 1 /* fromPart */
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         2: .line 69
            aload 1 /* fromPart */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.useThetaStyle:Z
            putfield org.hibernate.engine.internal.JoinSequence.useThetaStyle:Z
         3: .line 70
            aload 1 /* fromPart */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.rootAlias:Ljava/lang/String;
            putfield org.hibernate.engine.internal.JoinSequence.rootAlias:Ljava/lang/String;
         4: .line 71
            aload 1 /* fromPart */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.rootJoinable:Lorg/hibernate/persister/entity/Joinable;
            putfield org.hibernate.engine.internal.JoinSequence.rootJoinable:Lorg/hibernate/persister/entity/Joinable;
         5: .line 72
            aload 1 /* fromPart */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.selector:Lorg/hibernate/engine/internal/JoinSequence$Selector;
            putfield org.hibernate.engine.internal.JoinSequence.selector:Lorg/hibernate/engine/internal/JoinSequence$Selector;
         6: .line 73
            aload 1 /* fromPart */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.next:Lorg/hibernate/engine/internal/JoinSequence;
            ifnonnull 7
            aconst_null
            goto 8
      StackMap locals: org.hibernate.engine.internal.JoinSequence org.hibernate.engine.internal.JoinSequence
      StackMap stack: org.hibernate.engine.internal.JoinSequence
         7: aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.next:Lorg/hibernate/engine/internal/JoinSequence;
            invokevirtual org.hibernate.engine.internal.JoinSequence.getFromPart:()Lorg/hibernate/engine/internal/JoinSequence;
      StackMap locals: org.hibernate.engine.internal.JoinSequence org.hibernate.engine.internal.JoinSequence
      StackMap stack: org.hibernate.engine.internal.JoinSequence org.hibernate.engine.internal.JoinSequence
         8: putfield org.hibernate.engine.internal.JoinSequence.next:Lorg/hibernate/engine/internal/JoinSequence;
         9: .line 74
            aload 1 /* fromPart */
            iconst_1
            putfield org.hibernate.engine.internal.JoinSequence.isFromPart:Z
        10: .line 75
            aload 1 /* fromPart */
            areturn
        end local 1 // org.hibernate.engine.internal.JoinSequence fromPart
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/hibernate/engine/internal/JoinSequence;
            1   11     1  fromPart  Lorg/hibernate/engine/internal/JoinSequence;

  public void applyTreatAsDeclarations(java.util.Set<java.lang.String>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // java.util.Set treatAsDeclarations
         0: .line 81
            aload 1 /* treatAsDeclarations */
            ifnull 1
            aload 1 /* treatAsDeclarations */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 2
         1: .line 82
      StackMap locals:
      StackMap stack:
            return
         2: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.treatAsDeclarations:Ljava/util/Set;
            ifnonnull 4
         3: .line 86
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.hibernate.engine.internal.JoinSequence.treatAsDeclarations:Ljava/util/Set;
         4: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.treatAsDeclarations:Ljava/util/Set;
            aload 1 /* treatAsDeclarations */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         5: .line 90
            return
        end local 1 // java.util.Set treatAsDeclarations
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Lorg/hibernate/engine/internal/JoinSequence;
            0    6     1  treatAsDeclarations  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
                     Name  Flags
      treatAsDeclarations  

  protected java.util.Set<java.lang.String> getTreatAsDeclarations();
    descriptor: ()Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.JoinSequence this
         0: .line 93
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.treatAsDeclarations:Ljava/util/Set;
            areturn
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/JoinSequence;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public org.hibernate.engine.internal.JoinSequence copy();
    descriptor: ()Lorg/hibernate/engine/internal/JoinSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.hibernate.engine.internal.JoinSequence this
         0: .line 103
            new org.hibernate.engine.internal.JoinSequence
            dup
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokespecial org.hibernate.engine.internal.JoinSequence.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            astore 1 /* copy */
        start local 1 // org.hibernate.engine.internal.JoinSequence copy
         1: .line 104
            aload 1 /* copy */
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         2: .line 105
            aload 1 /* copy */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.useThetaStyle:Z
            putfield org.hibernate.engine.internal.JoinSequence.useThetaStyle:Z
         3: .line 106
            aload 1 /* copy */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.rootAlias:Ljava/lang/String;
            putfield org.hibernate.engine.internal.JoinSequence.rootAlias:Ljava/lang/String;
         4: .line 107
            aload 1 /* copy */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.rootJoinable:Lorg/hibernate/persister/entity/Joinable;
            putfield org.hibernate.engine.internal.JoinSequence.rootJoinable:Lorg/hibernate/persister/entity/Joinable;
         5: .line 108
            aload 1 /* copy */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.selector:Lorg/hibernate/engine/internal/JoinSequence$Selector;
            putfield org.hibernate.engine.internal.JoinSequence.selector:Lorg/hibernate/engine/internal/JoinSequence$Selector;
         6: .line 109
            aload 1 /* copy */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.next:Lorg/hibernate/engine/internal/JoinSequence;
            ifnonnull 7
            aconst_null
            goto 8
      StackMap locals: org.hibernate.engine.internal.JoinSequence org.hibernate.engine.internal.JoinSequence
      StackMap stack: org.hibernate.engine.internal.JoinSequence
         7: aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.next:Lorg/hibernate/engine/internal/JoinSequence;
            invokevirtual org.hibernate.engine.internal.JoinSequence.copy:()Lorg/hibernate/engine/internal/JoinSequence;
      StackMap locals: org.hibernate.engine.internal.JoinSequence org.hibernate.engine.internal.JoinSequence
      StackMap stack: org.hibernate.engine.internal.JoinSequence org.hibernate.engine.internal.JoinSequence
         8: putfield org.hibernate.engine.internal.JoinSequence.next:Lorg/hibernate/engine/internal/JoinSequence;
         9: .line 110
            aload 1 /* copy */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.isFromPart:Z
            putfield org.hibernate.engine.internal.JoinSequence.isFromPart:Z
        10: .line 111
            aload 1 /* copy */
            getfield org.hibernate.engine.internal.JoinSequence.conditions:Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.conditions:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 112
            aload 1 /* copy */
            areturn
        end local 1 // org.hibernate.engine.internal.JoinSequence copy
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/hibernate/engine/internal/JoinSequence;
            1   12     1  copy  Lorg/hibernate/engine/internal/JoinSequence;

  public org.hibernate.engine.internal.JoinSequence addJoin(org.hibernate.type.AssociationType, java.lang.String, org.hibernate.sql.JoinType, java.lang.String[]);
    descriptor: (Lorg/hibernate/type/AssociationType;Ljava/lang/String;Lorg/hibernate/sql/JoinType;[Ljava/lang/String;)Lorg/hibernate/engine/internal/JoinSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=5, args_size=5
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // org.hibernate.type.AssociationType associationType
        start local 2 // java.lang.String alias
        start local 3 // org.hibernate.sql.JoinType joinType
        start local 4 // java.lang.String[] referencingKey
         0: .line 132
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            new org.hibernate.engine.internal.JoinSequence$Join
            dup
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 1 /* associationType */
            aload 2 /* alias */
            aload 3 /* joinType */
            iconst_1
            anewarray java.lang.String[]
            dup
            iconst_0
            aload 4 /* referencingKey */
            aastore
            invokespecial org.hibernate.engine.internal.JoinSequence$Join.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/type/AssociationType;Ljava/lang/String;Lorg/hibernate/sql/JoinType;[[Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 133
            aload 0 /* this */
            areturn
        end local 4 // java.lang.String[] referencingKey
        end local 3 // org.hibernate.sql.JoinType joinType
        end local 2 // java.lang.String alias
        end local 1 // org.hibernate.type.AssociationType associationType
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/hibernate/engine/internal/JoinSequence;
            0    2     1  associationType  Lorg/hibernate/type/AssociationType;
            0    2     2            alias  Ljava/lang/String;
            0    2     3         joinType  Lorg/hibernate/sql/JoinType;
            0    2     4   referencingKey  [Ljava/lang/String;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                 Name  Flags
      associationType  
      alias            
      joinType         
      referencingKey   

  public org.hibernate.engine.internal.JoinSequence addJoin(org.hibernate.type.AssociationType, java.lang.String, org.hibernate.sql.JoinType, java.lang.String[][]);
    descriptor: (Lorg/hibernate/type/AssociationType;Ljava/lang/String;Lorg/hibernate/sql/JoinType;[[Ljava/lang/String;)Lorg/hibernate/engine/internal/JoinSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // org.hibernate.type.AssociationType associationType
        start local 2 // java.lang.String alias
        start local 3 // org.hibernate.sql.JoinType joinType
        start local 4 // java.lang.String[][] referencingKeys
         0: .line 153
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            new org.hibernate.engine.internal.JoinSequence$Join
            dup
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 1 /* associationType */
            aload 2 /* alias */
            aload 3 /* joinType */
            aload 4 /* referencingKeys */
            invokespecial org.hibernate.engine.internal.JoinSequence$Join.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/type/AssociationType;Ljava/lang/String;Lorg/hibernate/sql/JoinType;[[Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 154
            aload 0 /* this */
            areturn
        end local 4 // java.lang.String[][] referencingKeys
        end local 3 // org.hibernate.sql.JoinType joinType
        end local 2 // java.lang.String alias
        end local 1 // org.hibernate.type.AssociationType associationType
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/hibernate/engine/internal/JoinSequence;
            0    2     1  associationType  Lorg/hibernate/type/AssociationType;
            0    2     2            alias  Ljava/lang/String;
            0    2     3         joinType  Lorg/hibernate/sql/JoinType;
            0    2     4  referencingKeys  [[Ljava/lang/String;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                 Name  Flags
      associationType  
      alias            
      joinType         
      referencingKeys  

  public org.hibernate.engine.internal.JoinSequence addJoin(org.hibernate.hql.internal.ast.tree.ImpliedFromElement);
    descriptor: (Lorg/hibernate/hql/internal/ast/tree/ImpliedFromElement;)Lorg/hibernate/engine/internal/JoinSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // org.hibernate.hql.internal.ast.tree.ImpliedFromElement fromElement
         0: .line 164
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            aload 1 /* fromElement */
            invokevirtual org.hibernate.hql.internal.ast.tree.ImpliedFromElement.getJoinSequence:()Lorg/hibernate/engine/internal/JoinSequence;
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 165
            aload 0 /* this */
            areturn
        end local 1 // org.hibernate.hql.internal.ast.tree.ImpliedFromElement fromElement
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/hibernate/engine/internal/JoinSequence;
            0    2     1  fromElement  Lorg/hibernate/hql/internal/ast/tree/ImpliedFromElement;
    MethodParameters:
             Name  Flags
      fromElement  

  public org.hibernate.sql.JoinFragment toJoinFragment();
    descriptor: ()Lorg/hibernate/sql/JoinFragment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.JoinSequence this
         0: .line 176
            aload 0 /* this */
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            iconst_1
            invokevirtual org.hibernate.engine.internal.JoinSequence.toJoinFragment:(Ljava/util/Map;Z)Lorg/hibernate/sql/JoinFragment;
            areturn
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/JoinSequence;
    Exceptions:
      throws org.hibernate.MappingException

  public org.hibernate.sql.JoinFragment toJoinFragment(java.util.Map, boolean);
    descriptor: (Ljava/util/Map;Z)Lorg/hibernate/sql/JoinFragment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // java.util.Map enabledFilters
        start local 2 // boolean includeAllSubclassJoins
         0: .line 190
            aload 0 /* this */
            aload 1 /* enabledFilters */
            iload 2 /* includeAllSubclassJoins */
            aconst_null
            invokevirtual org.hibernate.engine.internal.JoinSequence.toJoinFragment:(Ljava/util/Map;ZLjava/lang/String;)Lorg/hibernate/sql/JoinFragment;
            areturn
        end local 2 // boolean includeAllSubclassJoins
        end local 1 // java.util.Map enabledFilters
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    1     0                     this  Lorg/hibernate/engine/internal/JoinSequence;
            0    1     1           enabledFilters  Ljava/util/Map;
            0    1     2  includeAllSubclassJoins  Z
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                         Name  Flags
      enabledFilters           
      includeAllSubclassJoins  

  public org.hibernate.sql.JoinFragment toJoinFragment(java.util.Map, boolean, java.lang.String);
    descriptor: (Ljava/util/Map;ZLjava/lang/String;)Lorg/hibernate/sql/JoinFragment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // java.util.Map enabledFilters
        start local 2 // boolean includeAllSubclassJoins
        start local 3 // java.lang.String withClauseFragment
         0: .line 208
            aload 0 /* this */
            aload 1 /* enabledFilters */
            iload 2 /* includeAllSubclassJoins */
            iconst_1
            aload 3 /* withClauseFragment */
            invokevirtual org.hibernate.engine.internal.JoinSequence.toJoinFragment:(Ljava/util/Map;ZZLjava/lang/String;)Lorg/hibernate/sql/JoinFragment;
            areturn
        end local 3 // java.lang.String withClauseFragment
        end local 2 // boolean includeAllSubclassJoins
        end local 1 // java.util.Map enabledFilters
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    1     0                     this  Lorg/hibernate/engine/internal/JoinSequence;
            0    1     1           enabledFilters  Ljava/util/Map;
            0    1     2  includeAllSubclassJoins  Z
            0    1     3       withClauseFragment  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                         Name  Flags
      enabledFilters           
      includeAllSubclassJoins  
      withClauseFragment       

  public org.hibernate.sql.JoinFragment toJoinFragment(java.util.Map, boolean, boolean, java.lang.String);
    descriptor: (Ljava/util/Map;ZZLjava/lang/String;)Lorg/hibernate/sql/JoinFragment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=15, args_size=5
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // java.util.Map enabledFilters
        start local 2 // boolean includeAllSubclassJoins
        start local 3 // boolean renderSubclassJoins
        start local 4 // java.lang.String withClauseFragment
         0: .line 216
            new org.hibernate.sql.QueryJoinFragment
            dup
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.useThetaStyle:Z
            invokespecial org.hibernate.sql.QueryJoinFragment.<init>:(Lorg/hibernate/dialect/Dialect;Z)V
            astore 5 /* joinFragment */
        start local 5 // org.hibernate.sql.QueryJoinFragment joinFragment
         1: .line 220
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.rootJoinable:Lorg/hibernate/persister/entity/Joinable;
            ifnull 8
         2: .line 221
            aload 5 /* joinFragment */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.rootJoinable:Lorg/hibernate/persister/entity/Joinable;
            invokeinterface org.hibernate.persister.entity.Joinable.getTableName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.rootAlias:Ljava/lang/String;
            invokevirtual org.hibernate.sql.QueryJoinFragment.addCrossJoin:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 222
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.rootJoinable:Lorg/hibernate/persister/entity/Joinable;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.rootAlias:Ljava/lang/String;
            aload 1 /* enabledFilters */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.treatAsDeclarations:Ljava/util/Set;
            invokeinterface org.hibernate.persister.entity.Joinable.filterFragment:(Ljava/lang/String;Ljava/util/Map;Ljava/util/Set;)Ljava/lang/String;
            astore 9 /* filterCondition */
        start local 9 // java.lang.String filterCondition
         4: .line 226
            aload 5 /* joinFragment */
            aload 5 /* joinFragment */
            aload 9 /* filterCondition */
            invokevirtual org.hibernate.sql.QueryJoinFragment.addCondition:(Ljava/lang/String;)Z
            invokevirtual org.hibernate.sql.QueryJoinFragment.setHasFilterCondition:(Z)V
         5: .line 227
            aload 0 /* this */
            aload 5 /* joinFragment */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.rootAlias:Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.rootJoinable:Lorg/hibernate/persister/entity/Joinable;
            iconst_1
            iload 2 /* includeAllSubclassJoins */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.treatAsDeclarations:Ljava/util/Set;
            invokevirtual org.hibernate.engine.internal.JoinSequence.addSubclassJoins:(Lorg/hibernate/sql/JoinFragment;Ljava/lang/String;Lorg/hibernate/persister/entity/Joinable;ZZLjava/util/Set;)V
         6: .line 229
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.rootJoinable:Lorg/hibernate/persister/entity/Joinable;
            astore 8 /* last */
        end local 9 // java.lang.String filterCondition
        start local 8 // org.hibernate.persister.entity.Joinable last
         7: .line 230
            goto 76
        end local 8 // org.hibernate.persister.entity.Joinable last
         8: .line 231
      StackMap locals: org.hibernate.sql.QueryJoinFragment
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            aload 4 /* withClauseFragment */
            invokevirtual org.hibernate.engine.internal.JoinSequence.needsTableGroupJoin:(Ljava/util/List;Ljava/lang/String;)Z
            ifeq 75
         9: .line 232
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6 /* iter */
        start local 6 // java.util.Iterator iter
        10: .line 233
            aload 6 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.engine.internal.JoinSequence$Join
            astore 7 /* first */
        start local 7 // org.hibernate.engine.internal.JoinSequence$Join first
        11: .line 235
            invokestatic org.hibernate.engine.internal.JoinSequence.$SWITCH_TABLE$org$hibernate$sql$JoinType:()[I
            aload 7 /* first */
            getfield org.hibernate.engine.internal.JoinSequence$Join.joinType:Lorg/hibernate/sql/JoinType;
            invokevirtual org.hibernate.sql.JoinType.ordinal:()I
            iaload
            tableswitch { // 2 - 5
                    2: 12
                    3: 14
                    4: 16
                    5: 18
              default: 20
          }
        12: .line 237
      StackMap locals: java.util.Iterator org.hibernate.engine.internal.JoinSequence$Join
      StackMap stack:
            ldc " inner join "
            astore 9 /* joinString */
        start local 9 // java.lang.String joinString
        13: .line 238
            goto 21
        end local 9 // java.lang.String joinString
        14: .line 240
      StackMap locals:
      StackMap stack:
            ldc " left outer join "
            astore 9 /* joinString */
        start local 9 // java.lang.String joinString
        15: .line 241
            goto 21
        end local 9 // java.lang.String joinString
        16: .line 243
      StackMap locals:
      StackMap stack:
            ldc " right outer join "
            astore 9 /* joinString */
        start local 9 // java.lang.String joinString
        17: .line 244
            goto 21
        end local 9 // java.lang.String joinString
        18: .line 246
      StackMap locals:
      StackMap stack:
            ldc " full outer join "
            astore 9 /* joinString */
        start local 9 // java.lang.String joinString
        19: .line 247
            goto 21
        end local 9 // java.lang.String joinString
        20: .line 249
      StackMap locals:
      StackMap stack:
            new org.hibernate.AssertionFailure
            dup
            ldc "undefined join type"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        start local 9 // java.lang.String joinString
        21: .line 252
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment java.util.Iterator org.hibernate.engine.internal.JoinSequence$Join top java.lang.String
      StackMap stack:
            aload 5 /* joinFragment */
            aload 9 /* joinString */
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        22: .line 253
            aload 5 /* joinFragment */
            ldc " ("
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        23: .line 254
            aload 5 /* joinFragment */
            aload 7 /* first */
            getfield org.hibernate.engine.internal.JoinSequence$Join.joinable:Lorg/hibernate/persister/entity/Joinable;
            invokeinterface org.hibernate.persister.entity.Joinable.getTableName:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        24: .line 255
            aload 5 /* joinFragment */
            ldc " "
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        25: .line 256
            aload 5 /* joinFragment */
            aload 7 /* first */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAlias:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        26: .line 258
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 45
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment java.util.Iterator org.hibernate.engine.internal.JoinSequence$Join top java.lang.String top java.util.Iterator
      StackMap stack:
        27: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.engine.internal.JoinSequence$Join
            astore 10 /* join */
        start local 10 // org.hibernate.engine.internal.JoinSequence$Join join
        28: .line 260
            aload 10 /* join */
            aload 7 /* first */
            if_acmpeq 36
        29: .line 261
            aload 5 /* joinFragment */
        30: .line 262
            aload 10 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getJoinable:()Lorg/hibernate/persister/entity/Joinable;
            invokeinterface org.hibernate.persister.entity.Joinable.getTableName:()Ljava/lang/String;
        31: .line 263
            aload 10 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAlias:()Ljava/lang/String;
        32: .line 264
            aload 10 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getLHSColumns:()[[Ljava/lang/String;
        33: .line 265
            aload 10 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAssociationType:()Lorg/hibernate/type/AssociationType;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.engine.internal.JoinHelper.getRHSColumnNames:(Lorg/hibernate/type/AssociationType;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)[Ljava/lang/String;
        34: .line 266
            aload 10 /* join */
            getfield org.hibernate.engine.internal.JoinSequence$Join.joinType:Lorg/hibernate/sql/JoinType;
        35: .line 261
            invokevirtual org.hibernate.sql.QueryJoinFragment.addJoin:(Ljava/lang/String;Ljava/lang/String;[[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/sql/JoinType;)V
        36: .line 269
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment java.util.Iterator org.hibernate.engine.internal.JoinSequence$Join top java.lang.String org.hibernate.engine.internal.JoinSequence$Join java.util.Iterator
      StackMap stack:
            aload 0 /* this */
        37: .line 270
            aload 5 /* joinFragment */
        38: .line 271
            aload 10 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAlias:()Ljava/lang/String;
        39: .line 272
            aload 10 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getJoinable:()Lorg/hibernate/persister/entity/Joinable;
        40: .line 274
            aload 10 /* join */
            getfield org.hibernate.engine.internal.JoinSequence$Join.joinType:Lorg/hibernate/sql/JoinType;
            getstatic org.hibernate.sql.JoinType.INNER_JOIN:Lorg/hibernate/sql/JoinType;
            if_acmpne 41
            iconst_1
            goto 42
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment java.util.Iterator org.hibernate.engine.internal.JoinSequence$Join top java.lang.String org.hibernate.engine.internal.JoinSequence$Join java.util.Iterator
      StackMap stack: org.hibernate.engine.internal.JoinSequence org.hibernate.sql.QueryJoinFragment java.lang.String org.hibernate.persister.entity.Joinable
        41: iconst_0
        42: .line 275
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment java.util.Iterator org.hibernate.engine.internal.JoinSequence$Join top java.lang.String org.hibernate.engine.internal.JoinSequence$Join java.util.Iterator
      StackMap stack: org.hibernate.engine.internal.JoinSequence org.hibernate.sql.QueryJoinFragment java.lang.String org.hibernate.persister.entity.Joinable int
            iload 2 /* includeAllSubclassJoins */
        43: .line 278
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.treatAsDeclarations:Ljava/util/Set;
        44: .line 269
            invokevirtual org.hibernate.engine.internal.JoinSequence.addSubclassJoins:(Lorg/hibernate/sql/JoinFragment;Ljava/lang/String;Lorg/hibernate/persister/entity/Joinable;ZZLjava/util/Set;)V
        end local 10 // org.hibernate.engine.internal.JoinSequence$Join join
        45: .line 258
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment java.util.Iterator org.hibernate.engine.internal.JoinSequence$Join top java.lang.String top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        46: .line 282
            aload 5 /* joinFragment */
            ldc ")"
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        47: .line 283
            aload 5 /* joinFragment */
            ldc " on "
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        48: .line 285
            aload 7 /* first */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAlias:()Ljava/lang/String;
            astore 10 /* rhsAlias */
        start local 10 // java.lang.String rhsAlias
        49: .line 286
            aload 7 /* first */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getLHSColumns:()[[Ljava/lang/String;
            astore 11 /* lhsColumns */
        start local 11 // java.lang.String[][] lhsColumns
        50: .line 287
            aload 7 /* first */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAssociationType:()Lorg/hibernate/type/AssociationType;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.engine.internal.JoinHelper.getRHSColumnNames:(Lorg/hibernate/type/AssociationType;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)[Ljava/lang/String;
            astore 12 /* rhsColumns */
        start local 12 // java.lang.String[] rhsColumns
        51: .line 288
            aload 11 /* lhsColumns */
            arraylength
            iconst_1
            if_icmple 53
        52: .line 289
            aload 5 /* joinFragment */
            ldc "("
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        53: .line 291
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment java.util.Iterator org.hibernate.engine.internal.JoinSequence$Join top java.lang.String java.lang.String java.lang.String[][] java.lang.String[]
      StackMap stack:
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        54: goto 69
        55: .line 292
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 14 /* j */
        start local 14 // int j
        56: goto 65
        57: .line 293
      StackMap locals: int
      StackMap stack:
            aload 5 /* joinFragment */
            aload 11 /* lhsColumns */
            iload 13 /* i */
            aaload
            iload 14 /* j */
            aaload
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        58: .line 294
            aload 5 /* joinFragment */
            ldc "="
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        59: .line 295
            aload 5 /* joinFragment */
            aload 10 /* rhsAlias */
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        60: .line 296
            aload 5 /* joinFragment */
            ldc "."
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        61: .line 297
            aload 5 /* joinFragment */
            aload 12 /* rhsColumns */
            iload 14 /* j */
            aaload
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        62: .line 298
            iload 14 /* j */
            aload 11 /* lhsColumns */
            iload 13 /* i */
            aaload
            arraylength
            iconst_1
            isub
            if_icmpge 64
        63: .line 299
            aload 5 /* joinFragment */
            ldc " and "
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        64: .line 292
      StackMap locals:
      StackMap stack:
            iinc 14 /* j */ 1
      StackMap locals:
      StackMap stack:
        65: iload 14 /* j */
            aload 11 /* lhsColumns */
            iload 13 /* i */
            aaload
            arraylength
            if_icmplt 57
        end local 14 // int j
        66: .line 302
            iload 13 /* i */
            aload 11 /* lhsColumns */
            arraylength
            iconst_1
            isub
            if_icmpge 68
        67: .line 303
            aload 5 /* joinFragment */
            ldc " or "
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        68: .line 291
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        69: iload 13 /* i */
            aload 11 /* lhsColumns */
            arraylength
            if_icmplt 55
        end local 13 // int i
        70: .line 306
            aload 11 /* lhsColumns */
            arraylength
            iconst_1
            if_icmple 72
        71: .line 307
            aload 5 /* joinFragment */
            ldc ")"
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        72: .line 310
      StackMap locals:
      StackMap stack:
            aload 5 /* joinFragment */
            ldc " and "
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        73: .line 311
            aload 5 /* joinFragment */
            aload 4 /* withClauseFragment */
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFromFragmentString:(Ljava/lang/String;)V
        74: .line 313
            aload 5 /* joinFragment */
            areturn
        end local 12 // java.lang.String[] rhsColumns
        end local 11 // java.lang.String[][] lhsColumns
        end local 10 // java.lang.String rhsAlias
        end local 9 // java.lang.String joinString
        end local 7 // org.hibernate.engine.internal.JoinSequence$Join first
        end local 6 // java.util.Iterator iter
        75: .line 316
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment
      StackMap stack:
            aconst_null
            astore 8 /* last */
        start local 8 // org.hibernate.persister.entity.Joinable last
        76: .line 318
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment top top org.hibernate.persister.entity.Joinable
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 114
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment top top org.hibernate.persister.entity.Joinable top java.util.Iterator
      StackMap stack:
        77: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.engine.internal.JoinSequence$Join
            astore 9 /* join */
        start local 9 // org.hibernate.engine.internal.JoinSequence$Join join
        78: .line 324
            aload 9 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAssociationType:()Lorg/hibernate/type/AssociationType;
            aload 9 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAlias:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 1 /* enabledFilters */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.treatAsDeclarations:Ljava/util/Set;
            invokeinterface org.hibernate.type.AssociationType.getOnCondition:(Ljava/lang/String;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Ljava/util/Map;Ljava/util/Set;)Ljava/lang/String;
            astore 11 /* on */
        start local 11 // java.lang.String on
        79: .line 326
            aload 8 /* last */
            ifnull 92
        80: .line 327
            aload 0 /* this */
            aload 8 /* last */
            invokevirtual org.hibernate.engine.internal.JoinSequence.isManyToManyRoot:(Lorg/hibernate/persister/entity/Joinable;)Z
            ifeq 92
        81: .line 328
            aload 8 /* last */
            checkcast org.hibernate.persister.collection.QueryableCollection
            invokeinterface org.hibernate.persister.collection.QueryableCollection.getElementType:()Lorg/hibernate/type/Type;
            aload 9 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAssociationType:()Lorg/hibernate/type/AssociationType;
            if_acmpne 92
        82: .line 332
            aload 8 /* last */
            checkcast org.hibernate.persister.collection.QueryableCollection
        83: .line 333
            aload 9 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAlias:()Ljava/lang/String;
        84: .line 334
            aload 1 /* enabledFilters */
        85: .line 332
            invokeinterface org.hibernate.persister.collection.QueryableCollection.getManyToManyFilterFragment:(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
            astore 13 /* manyToManyFilter */
        start local 13 // java.lang.String manyToManyFilter
        86: .line 336
            ldc ""
            aload 13 /* manyToManyFilter */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 88
        87: .line 337
            aload 11 /* on */
            goto 90
        88: .line 338
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment top top org.hibernate.persister.entity.Joinable org.hibernate.engine.internal.JoinSequence$Join java.util.Iterator java.lang.String top java.lang.String
      StackMap stack:
            ldc ""
            aload 11 /* on */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 89
            aload 13 /* manyToManyFilter */
            goto 90
      StackMap locals:
      StackMap stack:
        89: new java.lang.StringBuilder
            dup
            aload 11 /* on */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 13 /* manyToManyFilter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        90: .line 336
      StackMap locals:
      StackMap stack: java.lang.String
            astore 12 /* condition */
        end local 13 // java.lang.String manyToManyFilter
        start local 12 // java.lang.String condition
        91: .line 339
            goto 93
        end local 12 // java.lang.String condition
        92: .line 341
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment top top org.hibernate.persister.entity.Joinable org.hibernate.engine.internal.JoinSequence$Join java.util.Iterator java.lang.String
      StackMap stack:
            aload 11 /* on */
            astore 12 /* condition */
        start local 12 // java.lang.String condition
        93: .line 344
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* withClauseFragment */
            ifnull 95
            aload 0 /* this */
            aload 9 /* join */
            getfield org.hibernate.engine.internal.JoinSequence$Join.joinable:Lorg/hibernate/persister/entity/Joinable;
            invokevirtual org.hibernate.engine.internal.JoinSequence.isManyToManyRoot:(Lorg/hibernate/persister/entity/Joinable;)Z
            ifne 95
        94: .line 345
            new java.lang.StringBuilder
            dup
            aload 12 /* condition */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* withClauseFragment */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 12 /* condition */
        95: .line 348
      StackMap locals:
      StackMap stack:
            aload 5 /* joinFragment */
        96: .line 349
            aload 9 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getJoinable:()Lorg/hibernate/persister/entity/Joinable;
            invokeinterface org.hibernate.persister.entity.Joinable.getTableName:()Ljava/lang/String;
        97: .line 350
            aload 9 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAlias:()Ljava/lang/String;
        98: .line 351
            aload 9 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getLHSColumns:()[[Ljava/lang/String;
        99: .line 352
            aload 9 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAssociationType:()Lorg/hibernate/type/AssociationType;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.engine.internal.JoinHelper.getRHSColumnNames:(Lorg/hibernate/type/AssociationType;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)[Ljava/lang/String;
       100: .line 353
            aload 9 /* join */
            getfield org.hibernate.engine.internal.JoinSequence$Join.joinType:Lorg/hibernate/sql/JoinType;
       101: .line 354
            aload 12 /* condition */
       102: .line 348
            invokevirtual org.hibernate.sql.QueryJoinFragment.addJoin:(Ljava/lang/String;Ljava/lang/String;[[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/sql/JoinType;Ljava/lang/String;)V
       103: .line 357
            iload 3 /* renderSubclassJoins */
            ifeq 113
       104: .line 358
            aload 0 /* this */
       105: .line 359
            aload 5 /* joinFragment */
       106: .line 360
            aload 9 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAlias:()Ljava/lang/String;
       107: .line 361
            aload 9 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getJoinable:()Lorg/hibernate/persister/entity/Joinable;
       108: .line 362
            aload 9 /* join */
            getfield org.hibernate.engine.internal.JoinSequence$Join.joinType:Lorg/hibernate/sql/JoinType;
            getstatic org.hibernate.sql.JoinType.INNER_JOIN:Lorg/hibernate/sql/JoinType;
            if_acmpne 109
            iconst_1
            goto 110
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment top top org.hibernate.persister.entity.Joinable org.hibernate.engine.internal.JoinSequence$Join java.util.Iterator java.lang.String java.lang.String
      StackMap stack: org.hibernate.engine.internal.JoinSequence org.hibernate.sql.QueryJoinFragment java.lang.String org.hibernate.persister.entity.Joinable
       109: iconst_0
       110: .line 363
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment top top org.hibernate.persister.entity.Joinable org.hibernate.engine.internal.JoinSequence$Join java.util.Iterator java.lang.String java.lang.String
      StackMap stack: org.hibernate.engine.internal.JoinSequence org.hibernate.sql.QueryJoinFragment java.lang.String org.hibernate.persister.entity.Joinable int
            iload 2 /* includeAllSubclassJoins */
       111: .line 366
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.treatAsDeclarations:Ljava/util/Set;
       112: .line 358
            invokevirtual org.hibernate.engine.internal.JoinSequence.addSubclassJoins:(Lorg/hibernate/sql/JoinFragment;Ljava/lang/String;Lorg/hibernate/persister/entity/Joinable;ZZLjava/util/Set;)V
       113: .line 370
      StackMap locals:
      StackMap stack:
            aload 9 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getJoinable:()Lorg/hibernate/persister/entity/Joinable;
            astore 8 /* last */
        end local 12 // java.lang.String condition
        end local 11 // java.lang.String on
        end local 9 // org.hibernate.engine.internal.JoinSequence$Join join
       114: .line 318
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment top top org.hibernate.persister.entity.Joinable top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 77
       115: .line 373
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.next:Lorg/hibernate/engine/internal/JoinSequence;
            ifnull 117
       116: .line 374
            aload 5 /* joinFragment */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.next:Lorg/hibernate/engine/internal/JoinSequence;
            aload 1 /* enabledFilters */
            iload 2 /* includeAllSubclassJoins */
            invokevirtual org.hibernate.engine.internal.JoinSequence.toJoinFragment:(Ljava/util/Map;Z)Lorg/hibernate/sql/JoinFragment;
            invokevirtual org.hibernate.sql.QueryJoinFragment.addFragment:(Lorg/hibernate/sql/JoinFragment;)V
       117: .line 377
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Map int int java.lang.String org.hibernate.sql.QueryJoinFragment top top org.hibernate.persister.entity.Joinable
      StackMap stack:
            aload 5 /* joinFragment */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.conditions:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.QueryJoinFragment.addCondition:(Ljava/lang/String;)Z
            pop
       118: .line 379
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.isFromPart:Z
            ifeq 120
       119: .line 380
            aload 5 /* joinFragment */
            invokevirtual org.hibernate.sql.QueryJoinFragment.clearWherePart:()V
       120: .line 383
      StackMap locals:
      StackMap stack:
            aload 5 /* joinFragment */
            areturn
        end local 8 // org.hibernate.persister.entity.Joinable last
        end local 5 // org.hibernate.sql.QueryJoinFragment joinFragment
        end local 4 // java.lang.String withClauseFragment
        end local 3 // boolean renderSubclassJoins
        end local 2 // boolean includeAllSubclassJoins
        end local 1 // java.util.Map enabledFilters
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0  121     0                     this  Lorg/hibernate/engine/internal/JoinSequence;
            0  121     1           enabledFilters  Ljava/util/Map;
            0  121     2  includeAllSubclassJoins  Z
            0  121     3      renderSubclassJoins  Z
            0  121     4       withClauseFragment  Ljava/lang/String;
            1  121     5             joinFragment  Lorg/hibernate/sql/QueryJoinFragment;
           10   75     6                     iter  Ljava/util/Iterator<Lorg/hibernate/engine/internal/JoinSequence$Join;>;
           11   75     7                    first  Lorg/hibernate/engine/internal/JoinSequence$Join;
            7    8     8                     last  Lorg/hibernate/persister/entity/Joinable;
           76  121     8                     last  Lorg/hibernate/persister/entity/Joinable;
            4    7     9          filterCondition  Ljava/lang/String;
           13   14     9               joinString  Ljava/lang/String;
           15   16     9               joinString  Ljava/lang/String;
           17   18     9               joinString  Ljava/lang/String;
           19   20     9               joinString  Ljava/lang/String;
           21   75     9               joinString  Ljava/lang/String;
           28   45    10                     join  Lorg/hibernate/engine/internal/JoinSequence$Join;
           49   75    10                 rhsAlias  Ljava/lang/String;
           50   75    11               lhsColumns  [[Ljava/lang/String;
           51   75    12               rhsColumns  [Ljava/lang/String;
           54   70    13                        i  I
           56   66    14                        j  I
           78  114     9                     join  Lorg/hibernate/engine/internal/JoinSequence$Join;
           79  114    11                       on  Ljava/lang/String;
           91   92    12                condition  Ljava/lang/String;
           93  114    12                condition  Ljava/lang/String;
           86   91    13         manyToManyFilter  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                         Name  Flags
      enabledFilters           
      includeAllSubclassJoins  
      renderSubclassJoins      
      withClauseFragment       

  private boolean needsTableGroupJoin(java.util.List<org.hibernate.engine.internal.JoinSequence$Join>, java.lang.String);
    descriptor: (Ljava/util/List;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // java.util.List joins
        start local 2 // java.lang.String withClauseFragment
         0: .line 388
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.collectionJoinSubquery:Z
            ifeq 1
            aload 2 /* withClauseFragment */
            invokestatic org.hibernate.internal.util.StringHelper.isEmpty:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 389
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 392
      StackMap locals:
      StackMap stack:
            aload 1 /* joins */
            invokeinterface java.util.List.size:()I
            iconst_2
            if_icmpge 4
         3: .line 393
            aload 0 /* this */
            aload 1 /* joins */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.hibernate.engine.internal.JoinSequence$Join
            aload 2 /* withClauseFragment */
            invokevirtual org.hibernate.engine.internal.JoinSequence.isSubclassAliasDereferenced:(Lorg/hibernate/engine/internal/JoinSequence$Join;Ljava/lang/String;)Z
            ireturn
         4: .line 397
      StackMap locals:
      StackMap stack:
            aload 1 /* joins */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.hibernate.engine.internal.JoinSequence$Join
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getJoinType:()Lorg/hibernate/sql/JoinType;
            getstatic org.hibernate.sql.JoinType.INNER_JOIN:Lorg/hibernate/sql/JoinType;
            if_acmpeq 6
         5: .line 398
            iconst_1
            ireturn
         6: .line 401
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* joins */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.hibernate.engine.internal.JoinSequence$Join
            aload 2 /* withClauseFragment */
            invokevirtual org.hibernate.engine.internal.JoinSequence.isSubclassAliasDereferenced:(Lorg/hibernate/engine/internal/JoinSequence$Join;Ljava/lang/String;)Z
            ifeq 8
         7: .line 402
            iconst_1
            ireturn
         8: .line 412
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         9: goto 14
        10: .line 413
      StackMap locals: int
      StackMap stack:
            aload 1 /* joins */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.hibernate.engine.internal.JoinSequence$Join
            astore 4 /* join */
        start local 4 // org.hibernate.engine.internal.JoinSequence$Join join
        11: .line 415
            aload 0 /* this */
            aload 2 /* withClauseFragment */
            aload 4 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAlias:()Ljava/lang/String;
            invokevirtual org.hibernate.engine.internal.JoinSequence.isAliasDereferenced:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 12
            aload 0 /* this */
            aload 4 /* join */
            aload 2 /* withClauseFragment */
            invokevirtual org.hibernate.engine.internal.JoinSequence.isSubclassAliasDereferenced:(Lorg/hibernate/engine/internal/JoinSequence$Join;Ljava/lang/String;)Z
            ifeq 13
        12: .line 416
      StackMap locals: org.hibernate.engine.internal.JoinSequence$Join
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // org.hibernate.engine.internal.JoinSequence$Join join
        13: .line 412
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            aload 1 /* joins */
            invokeinterface java.util.List.size:()I
            if_icmplt 10
        end local 3 // int i
        15: .line 420
            iconst_0
            ireturn
        end local 2 // java.lang.String withClauseFragment
        end local 1 // java.util.List joins
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lorg/hibernate/engine/internal/JoinSequence;
            0   16     1               joins  Ljava/util/List<Lorg/hibernate/engine/internal/JoinSequence$Join;>;
            0   16     2  withClauseFragment  Ljava/lang/String;
            9   15     3                   i  I
           11   13     4                join  Lorg/hibernate/engine/internal/JoinSequence$Join;
    Signature: (Ljava/util/List<Lorg/hibernate/engine/internal/JoinSequence$Join;>;Ljava/lang/String;)Z
    MethodParameters:
                    Name  Flags
      joins               
      withClauseFragment  

  private boolean isSubclassAliasDereferenced(org.hibernate.engine.internal.JoinSequence$Join, java.lang.String);
    descriptor: (Lorg/hibernate/engine/internal/JoinSequence$Join;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // org.hibernate.engine.internal.JoinSequence$Join join
        start local 2 // java.lang.String withClauseFragment
         0: .line 424
            aload 1 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getJoinable:()Lorg/hibernate/persister/entity/Joinable;
            instanceof org.hibernate.persister.entity.AbstractEntityPersister
            ifeq 10
         1: .line 425
            aload 1 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getJoinable:()Lorg/hibernate/persister/entity/Joinable;
            checkcast org.hibernate.persister.entity.AbstractEntityPersister
            astore 3 /* persister */
        start local 3 // org.hibernate.persister.entity.AbstractEntityPersister persister
         2: .line 426
            aload 3 /* persister */
            invokevirtual org.hibernate.persister.entity.AbstractEntityPersister.getSubclassTableSpan:()I
            istore 4 /* subclassTableSpan */
        start local 4 // int subclassTableSpan
         3: .line 427
            iconst_1
            istore 5 /* j */
        start local 5 // int j
         4: goto 9
         5: .line 428
      StackMap locals: org.hibernate.persister.entity.AbstractEntityPersister int int
      StackMap stack:
            aload 1 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAlias:()Ljava/lang/String;
            iload 5 /* j */
            invokestatic org.hibernate.persister.entity.AbstractEntityPersister.generateTableAlias:(Ljava/lang/String;I)Ljava/lang/String;
            astore 6 /* subclassAlias */
        start local 6 // java.lang.String subclassAlias
         6: .line 429
            aload 0 /* this */
            aload 2 /* withClauseFragment */
            aload 6 /* subclassAlias */
            invokevirtual org.hibernate.engine.internal.JoinSequence.isAliasDereferenced:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 8
         7: .line 430
            iconst_1
            ireturn
        end local 6 // java.lang.String subclassAlias
         8: .line 427
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* j */
            iload 4 /* subclassTableSpan */
            if_icmplt 5
        end local 5 // int j
        end local 4 // int subclassTableSpan
        end local 3 // org.hibernate.persister.entity.AbstractEntityPersister persister
        10: .line 434
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.String withClauseFragment
        end local 1 // org.hibernate.engine.internal.JoinSequence$Join join
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0                this  Lorg/hibernate/engine/internal/JoinSequence;
            0   11     1                join  Lorg/hibernate/engine/internal/JoinSequence$Join;
            0   11     2  withClauseFragment  Ljava/lang/String;
            2   10     3           persister  Lorg/hibernate/persister/entity/AbstractEntityPersister;
            3   10     4   subclassTableSpan  I
            4   10     5                   j  I
            6    8     6       subclassAlias  Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      join                
      withClauseFragment  

  private boolean isAliasDereferenced(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // java.lang.String withClauseFragment
        start local 2 // java.lang.String alias
         0: .line 439
            aload 1 /* withClauseFragment */
            aload 2 /* alias */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 440
            iload 3 /* index */
            aload 2 /* alias */
            invokevirtual java.lang.String.length:()I
            iadd
            istore 4 /* dotIndex */
        start local 4 // int dotIndex
         2: .line 441
            iload 3 /* index */
            iconst_m1
            if_icmpeq 6
         3: .line 443
            iload 3 /* index */
            ifeq 4
            aload 1 /* withClauseFragment */
            iload 3 /* index */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifne 6
         4: .line 445
      StackMap locals: int int
      StackMap stack:
            iload 4 /* dotIndex */
            aload 1 /* withClauseFragment */
            invokevirtual java.lang.String.length:()I
            if_icmpge 6
            aload 1 /* withClauseFragment */
            iload 4 /* dotIndex */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpne 6
         5: .line 446
            iconst_1
            ireturn
         6: .line 449
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // int dotIndex
        end local 3 // int index
        end local 2 // java.lang.String alias
        end local 1 // java.lang.String withClauseFragment
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lorg/hibernate/engine/internal/JoinSequence;
            0    7     1  withClauseFragment  Ljava/lang/String;
            0    7     2               alias  Ljava/lang/String;
            1    7     3               index  I
            2    7     4            dotIndex  I
    MethodParameters:
                    Name  Flags
      withClauseFragment  
      alias               

  private boolean isManyToManyRoot(org.hibernate.persister.entity.Joinable);
    descriptor: (Lorg/hibernate/persister/entity/Joinable;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // org.hibernate.persister.entity.Joinable joinable
         0: .line 454
            aload 1 /* joinable */
            ifnull 2
            aload 1 /* joinable */
            invokeinterface org.hibernate.persister.entity.Joinable.isCollection:()Z
            ifeq 2
         1: .line 455
            aload 1 /* joinable */
            checkcast org.hibernate.persister.collection.QueryableCollection
            invokeinterface org.hibernate.persister.collection.QueryableCollection.isManyToMany:()Z
            ireturn
         2: .line 457
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.hibernate.persister.entity.Joinable joinable
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/hibernate/engine/internal/JoinSequence;
            0    3     1  joinable  Lorg/hibernate/persister/entity/Joinable;
    MethodParameters:
          Name  Flags
      joinable  

  private void addSubclassJoins(org.hibernate.sql.JoinFragment, java.lang.String, org.hibernate.persister.entity.Joinable, boolean, boolean, java.util.Set<java.lang.String>);
    descriptor: (Lorg/hibernate/sql/JoinFragment;Ljava/lang/String;Lorg/hibernate/persister/entity/Joinable;ZZLjava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=7
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // org.hibernate.sql.JoinFragment joinFragment
        start local 2 // java.lang.String alias
        start local 3 // org.hibernate.persister.entity.Joinable joinable
        start local 4 // boolean innerJoin
        start local 5 // boolean includeSubclassJoins
        start local 6 // java.util.Set treatAsDeclarations
         0: .line 467
            iload 5 /* includeSubclassJoins */
            ifeq 1
            aload 0 /* this */
            aload 2 /* alias */
            invokevirtual org.hibernate.engine.internal.JoinSequence.isIncluded:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 7 /* include */
        start local 7 // boolean include
         3: .line 468
            aload 1 /* joinFragment */
         4: .line 469
            aload 3 /* joinable */
            aload 2 /* alias */
            iload 4 /* innerJoin */
            iload 7 /* include */
            aload 6 /* treatAsDeclarations */
            invokeinterface org.hibernate.persister.entity.Joinable.fromJoinFragment:(Ljava/lang/String;ZZLjava/util/Set;)Ljava/lang/String;
         5: .line 470
            aload 3 /* joinable */
            aload 2 /* alias */
            iload 4 /* innerJoin */
            iload 7 /* include */
            aload 6 /* treatAsDeclarations */
            invokeinterface org.hibernate.persister.entity.Joinable.whereJoinFragment:(Ljava/lang/String;ZZLjava/util/Set;)Ljava/lang/String;
         6: .line 468
            invokevirtual org.hibernate.sql.JoinFragment.addJoins:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 472
            return
        end local 7 // boolean include
        end local 6 // java.util.Set treatAsDeclarations
        end local 5 // boolean includeSubclassJoins
        end local 4 // boolean innerJoin
        end local 3 // org.hibernate.persister.entity.Joinable joinable
        end local 2 // java.lang.String alias
        end local 1 // org.hibernate.sql.JoinFragment joinFragment
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0                  this  Lorg/hibernate/engine/internal/JoinSequence;
            0    8     1          joinFragment  Lorg/hibernate/sql/JoinFragment;
            0    8     2                 alias  Ljava/lang/String;
            0    8     3              joinable  Lorg/hibernate/persister/entity/Joinable;
            0    8     4             innerJoin  Z
            0    8     5  includeSubclassJoins  Z
            0    8     6   treatAsDeclarations  Ljava/util/Set<Ljava/lang/String;>;
            3    8     7               include  Z
    Signature: (Lorg/hibernate/sql/JoinFragment;Ljava/lang/String;Lorg/hibernate/persister/entity/Joinable;ZZLjava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
                      Name  Flags
      joinFragment          
      alias                 
      joinable              
      innerJoin             
      includeSubclassJoins  
      treatAsDeclarations   

  protected boolean isIncluded(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // java.lang.String alias
         0: .line 475
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.selector:Lorg/hibernate/engine/internal/JoinSequence$Selector;
            ifnull 1
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.selector:Lorg/hibernate/engine/internal/JoinSequence$Selector;
            aload 1 /* alias */
            invokeinterface org.hibernate.engine.internal.JoinSequence$Selector.includeSubclasses:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hibernate/engine/internal/JoinSequence;
            0    2     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  public org.hibernate.engine.internal.JoinSequence addCondition(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/engine/internal/JoinSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // java.lang.String condition
         0: .line 486
            aload 1 /* condition */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifeq 4
         1: .line 487
            aload 1 /* condition */
            ldc " and "
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 3
         2: .line 488
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.conditions:Ljava/lang/StringBuilder;
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.conditions:Ljava/lang/StringBuilder;
            aload 1 /* condition */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 492
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String condition
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/hibernate/engine/internal/JoinSequence;
            0    5     1  condition  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      condition  

  public org.hibernate.engine.internal.JoinSequence addCondition(java.lang.String, java.lang.String[], java.lang.String);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/engine/internal/JoinSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=4
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.String[] columns
        start local 3 // java.lang.String condition
         0: .line 512
            aload 2 /* columns */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.lang.String java.lang.String[] java.lang.String top int int java.lang.String[]
      StackMap stack:
         1: aload 7
            iload 5
            aaload
            astore 4 /* column */
        start local 4 // java.lang.String column
         2: .line 513
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.conditions:Ljava/lang/StringBuilder;
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 514
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 515
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         5: .line 516
            aload 4 /* column */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 517
            aload 3 /* condition */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // java.lang.String column
         7: .line 512
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 1
         9: .line 519
            aload 0 /* this */
            areturn
        end local 3 // java.lang.String condition
        end local 2 // java.lang.String[] columns
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/hibernate/engine/internal/JoinSequence;
            0   10     1      alias  Ljava/lang/String;
            0   10     2    columns  [Ljava/lang/String;
            0   10     3  condition  Ljava/lang/String;
            2    7     4     column  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      alias      
      columns    
      condition  

  public org.hibernate.engine.internal.JoinSequence setRoot(org.hibernate.persister.entity.Joinable, java.lang.String);
    descriptor: (Lorg/hibernate/persister/entity/Joinable;Ljava/lang/String;)Lorg/hibernate/engine/internal/JoinSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // org.hibernate.persister.entity.Joinable joinable
        start local 2 // java.lang.String alias
         0: .line 531
            aload 0 /* this */
            aload 2 /* alias */
            putfield org.hibernate.engine.internal.JoinSequence.rootAlias:Ljava/lang/String;
         1: .line 532
            aload 0 /* this */
            aload 1 /* joinable */
            putfield org.hibernate.engine.internal.JoinSequence.rootJoinable:Lorg/hibernate/persister/entity/Joinable;
         2: .line 533
            aload 0 /* this */
            areturn
        end local 2 // java.lang.String alias
        end local 1 // org.hibernate.persister.entity.Joinable joinable
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/hibernate/engine/internal/JoinSequence;
            0    3     1  joinable  Lorg/hibernate/persister/entity/Joinable;
            0    3     2     alias  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      joinable  
      alias     

  public org.hibernate.engine.internal.JoinSequence setNext(org.hibernate.engine.internal.JoinSequence);
    descriptor: (Lorg/hibernate/engine/internal/JoinSequence;)Lorg/hibernate/engine/internal/JoinSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // org.hibernate.engine.internal.JoinSequence next
         0: .line 544
            aload 0 /* this */
            aload 1 /* next */
            putfield org.hibernate.engine.internal.JoinSequence.next:Lorg/hibernate/engine/internal/JoinSequence;
         1: .line 545
            aload 0 /* this */
            areturn
        end local 1 // org.hibernate.engine.internal.JoinSequence next
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/engine/internal/JoinSequence;
            0    2     1  next  Lorg/hibernate/engine/internal/JoinSequence;
    MethodParameters:
      Name  Flags
      next  

  public org.hibernate.engine.internal.JoinSequence setSelector(org.hibernate.engine.internal.JoinSequence$Selector);
    descriptor: (Lorg/hibernate/engine/internal/JoinSequence$Selector;)Lorg/hibernate/engine/internal/JoinSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // org.hibernate.engine.internal.JoinSequence$Selector selector
         0: .line 556
            aload 0 /* this */
            aload 1 /* selector */
            putfield org.hibernate.engine.internal.JoinSequence.selector:Lorg/hibernate/engine/internal/JoinSequence$Selector;
         1: .line 557
            aload 0 /* this */
            areturn
        end local 1 // org.hibernate.engine.internal.JoinSequence$Selector selector
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/hibernate/engine/internal/JoinSequence;
            0    2     1  selector  Lorg/hibernate/engine/internal/JoinSequence$Selector;
    MethodParameters:
          Name  Flags
      selector  

  public org.hibernate.engine.internal.JoinSequence setUseThetaStyle(boolean);
    descriptor: (Z)Lorg/hibernate/engine/internal/JoinSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.JoinSequence this
        start local 1 // boolean useThetaStyle
         0: .line 568
            aload 0 /* this */
            iload 1 /* useThetaStyle */
            putfield org.hibernate.engine.internal.JoinSequence.useThetaStyle:Z
         1: .line 569
            aload 0 /* this */
            areturn
        end local 1 // boolean useThetaStyle
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/hibernate/engine/internal/JoinSequence;
            0    2     1  useThetaStyle  Z
    MethodParameters:
               Name  Flags
      useThetaStyle  

  public boolean isThetaStyle();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.JoinSequence this
         0: .line 573
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.useThetaStyle:Z
            ireturn
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/JoinSequence;

  public org.hibernate.engine.internal.JoinSequence$Join getFirstJoin();
    descriptor: ()Lorg/hibernate/engine/internal/JoinSequence$Join;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.JoinSequence this
         0: .line 577
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.hibernate.engine.internal.JoinSequence$Join
            areturn
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/JoinSequence;

  public org.hibernate.engine.internal.JoinSequence copyForCollectionProperty();
    descriptor: ()Lorg/hibernate/engine/internal/JoinSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.hibernate.engine.internal.JoinSequence this
         0: .line 644
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.JoinSequence.copy:()Lorg/hibernate/engine/internal/JoinSequence;
            astore 1 /* copy */
        start local 1 // org.hibernate.engine.internal.JoinSequence copy
         1: .line 645
            aload 1 /* copy */
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         2: .line 646
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2 /* joinIterator */
        start local 2 // java.util.Iterator joinIterator
         3: .line 647
            goto 11
         4: .line 648
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.util.Iterator
      StackMap stack:
            aload 2 /* joinIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.engine.internal.JoinSequence$Join
            astore 3 /* join */
        start local 3 // org.hibernate.engine.internal.JoinSequence$Join join
         5: .line 649
            aload 1 /* copy */
         6: .line 650
            aload 3 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAssociationType:()Lorg/hibernate/type/AssociationType;
         7: .line 651
            aload 3 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getAlias:()Ljava/lang/String;
         8: .line 652
            getstatic org.hibernate.sql.JoinType.INNER_JOIN:Lorg/hibernate/sql/JoinType;
         9: .line 653
            aload 3 /* join */
            invokevirtual org.hibernate.engine.internal.JoinSequence$Join.getLHSColumns:()[[Ljava/lang/String;
        10: .line 649
            invokevirtual org.hibernate.engine.internal.JoinSequence.addJoin:(Lorg/hibernate/type/AssociationType;Ljava/lang/String;Lorg/hibernate/sql/JoinType;[[Ljava/lang/String;)Lorg/hibernate/engine/internal/JoinSequence;
            pop
        end local 3 // org.hibernate.engine.internal.JoinSequence$Join join
        11: .line 647
      StackMap locals:
      StackMap stack:
            aload 2 /* joinIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        12: .line 656
            aload 1 /* copy */
            areturn
        end local 2 // java.util.Iterator joinIterator
        end local 1 // org.hibernate.engine.internal.JoinSequence copy
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/hibernate/engine/internal/JoinSequence;
            1   13     1          copy  Lorg/hibernate/engine/internal/JoinSequence;
            3   13     2  joinIterator  Ljava/util/Iterator<Lorg/hibernate/engine/internal/JoinSequence$Join;>;
            5   11     3          join  Lorg/hibernate/engine/internal/JoinSequence$Join;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.hibernate.engine.internal.JoinSequence this
         0: .line 661
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 662
            aload 1 /* buf */
            ldc "JoinSequence{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 663
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.rootJoinable:Lorg/hibernate/persister/entity/Joinable;
            ifnull 7
         3: .line 664
            aload 1 /* buf */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.rootJoinable:Lorg/hibernate/persister/entity/Joinable;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         4: .line 665
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         5: .line 666
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.rootAlias:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 667
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 669
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.JoinSequence.joins:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: org.hibernate.engine.internal.JoinSequence java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         8: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.engine.internal.JoinSequence$Join
            astore 2 /* join */
        start local 2 // org.hibernate.engine.internal.JoinSequence$Join join
         9: .line 670
            aload 1 /* buf */
            ldc "->"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* join */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        end local 2 // org.hibernate.engine.internal.JoinSequence$Join join
        10: .line 669
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 672
            aload 1 /* buf */
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // org.hibernate.engine.internal.JoinSequence this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/hibernate/engine/internal/JoinSequence;
            1   12     1   buf  Ljava/lang/StringBuilder;
            9   10     2  join  Lorg/hibernate/engine/internal/JoinSequence$Join;

  static int[] $SWITCH_TABLE$org$hibernate$sql$JoinType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 37
            getstatic org.hibernate.engine.internal.JoinSequence.$SWITCH_TABLE$org$hibernate$sql$JoinType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.hibernate.sql.JoinType.values:()[Lorg/hibernate/sql/JoinType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.hibernate.sql.JoinType.FULL_JOIN:Lorg/hibernate/sql/JoinType;
            invokevirtual org.hibernate.sql.JoinType.ordinal:()I
            iconst_5
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.hibernate.sql.JoinType.INNER_JOIN:Lorg/hibernate/sql/JoinType;
            invokevirtual org.hibernate.sql.JoinType.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.hibernate.sql.JoinType.LEFT_OUTER_JOIN:Lorg/hibernate/sql/JoinType;
            invokevirtual org.hibernate.sql.JoinType.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.hibernate.sql.JoinType.NONE:Lorg/hibernate/sql/JoinType;
            invokevirtual org.hibernate.sql.JoinType.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.hibernate.sql.JoinType.RIGHT_OUTER_JOIN:Lorg/hibernate/sql/JoinType;
            invokevirtual org.hibernate.sql.JoinType.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic org.hibernate.engine.internal.JoinSequence.$SWITCH_TABLE$org$hibernate$sql$JoinType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
}
SourceFile: "JoinSequence.java"
NestMembers:
  org.hibernate.engine.internal.JoinSequence$Join  org.hibernate.engine.internal.JoinSequence$Selector
InnerClasses:
  public final Join = org.hibernate.engine.internal.JoinSequence$Join of org.hibernate.engine.internal.JoinSequence
  public abstract Selector = org.hibernate.engine.internal.JoinSequence$Selector of org.hibernate.engine.internal.JoinSequence