public class org.hibernate.loader.criteria.CriteriaJoinWalker extends org.hibernate.loader.AbstractEntityJoinWalker
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.loader.criteria.CriteriaJoinWalker
  super_class: org.hibernate.loader.AbstractEntityJoinWalker
{
  private final org.hibernate.loader.criteria.CriteriaQueryTranslator translator;
    descriptor: Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Set querySpaces;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.type.Type[] resultTypes;
    descriptor: [Lorg/hibernate/type/Type;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean[] includeInResultRow;
    descriptor: [Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final java.util.List<org.hibernate.type.Type> resultTypeList;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/hibernate/type/Type;>;

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

  public org.hibernate.type.Type[] getResultTypes();
    descriptor: ()[Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
         0: .line 57
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.resultTypes:[Lorg/hibernate/type/Type;
            areturn
        end local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/criteria/CriteriaJoinWalker;

  public java.lang.String[] getUserAliases();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
         0: .line 61
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.userAliases:[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/criteria/CriteriaJoinWalker;

  public boolean[] includeInResultRow();
    descriptor: ()[Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
         0: .line 65
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.includeInResultRow:[Z
            areturn
        end local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/criteria/CriteriaJoinWalker;

  public void <init>(org.hibernate.persister.entity.OuterJoinLoadable, org.hibernate.loader.criteria.CriteriaQueryTranslator, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.internal.CriteriaImpl, java.lang.String, org.hibernate.engine.spi.LoadQueryInfluencers);
    descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/internal/CriteriaImpl;Ljava/lang/String;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
        start local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        start local 2 // org.hibernate.loader.criteria.CriteriaQueryTranslator translator
        start local 3 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        start local 4 // org.hibernate.internal.CriteriaImpl criteria
        start local 5 // java.lang.String rootEntityName
        start local 6 // org.hibernate.engine.spi.LoadQueryInfluencers loadQueryInfluencers
         0: .line 75
            aload 0 /* this */
            aload 1 /* persister */
            aload 2 /* translator */
            aload 3 /* factory */
            aload 4 /* criteria */
            aload 5 /* rootEntityName */
            aload 6 /* loadQueryInfluencers */
            aconst_null
            invokespecial org.hibernate.loader.criteria.CriteriaJoinWalker.<init>:(Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/internal/CriteriaImpl;Ljava/lang/String;Lorg/hibernate/engine/spi/LoadQueryInfluencers;Ljava/lang/String;)V
         1: .line 76
            return
        end local 6 // org.hibernate.engine.spi.LoadQueryInfluencers loadQueryInfluencers
        end local 5 // java.lang.String rootEntityName
        end local 4 // org.hibernate.internal.CriteriaImpl criteria
        end local 3 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        end local 2 // org.hibernate.loader.criteria.CriteriaQueryTranslator translator
        end local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        end local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lorg/hibernate/loader/criteria/CriteriaJoinWalker;
            0    2     1             persister  Lorg/hibernate/persister/entity/OuterJoinLoadable;
            0    2     2            translator  Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
            0    2     3               factory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0    2     4              criteria  Lorg/hibernate/internal/CriteriaImpl;
            0    2     5        rootEntityName  Ljava/lang/String;
            0    2     6  loadQueryInfluencers  Lorg/hibernate/engine/spi/LoadQueryInfluencers;
    MethodParameters:
                      Name  Flags
      persister             final
      translator            final
      factory               final
      criteria              final
      rootEntityName        final
      loadQueryInfluencers  final

  public void <init>(org.hibernate.persister.entity.OuterJoinLoadable, org.hibernate.loader.criteria.CriteriaQueryTranslator, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.internal.CriteriaImpl, java.lang.String, org.hibernate.engine.spi.LoadQueryInfluencers, java.lang.String);
    descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/internal/CriteriaImpl;Ljava/lang/String;Lorg/hibernate/engine/spi/LoadQueryInfluencers;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=8
        start local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
        start local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        start local 2 // org.hibernate.loader.criteria.CriteriaQueryTranslator translator
        start local 3 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        start local 4 // org.hibernate.internal.CriteriaImpl criteria
        start local 5 // java.lang.String rootEntityName
        start local 6 // org.hibernate.engine.spi.LoadQueryInfluencers loadQueryInfluencers
        start local 7 // java.lang.String alias
         0: .line 86
            aload 0 /* this */
            aload 1 /* persister */
            aload 3 /* factory */
            aload 6 /* loadQueryInfluencers */
            aload 7 /* alias */
            invokespecial org.hibernate.loader.AbstractEntityJoinWalker.<init>:(Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;Ljava/lang/String;)V
         1: .line 52
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.loader.criteria.CriteriaJoinWalker.userAliasList:Ljava/util/List;
         2: .line 53
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.loader.criteria.CriteriaJoinWalker.resultTypeList:Ljava/util/List;
         3: .line 54
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.loader.criteria.CriteriaJoinWalker.includeInResultRowList:Ljava/util/List;
         4: .line 88
            aload 0 /* this */
            aload 2 /* translator */
            putfield org.hibernate.loader.criteria.CriteriaJoinWalker.translator:Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
         5: .line 90
            aload 0 /* this */
            aload 2 /* translator */
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getQuerySpaces:()Ljava/util/Set;
            putfield org.hibernate.loader.criteria.CriteriaJoinWalker.querySpaces:Ljava/util/Set;
         6: .line 92
            aload 2 /* translator */
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.hasProjection:()Z
            ifeq 19
         7: .line 93
            aload 0 /* this */
         8: .line 94
            aload 2 /* translator */
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getSelect:()Ljava/lang/String;
         9: .line 95
            aload 2 /* translator */
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getWhereCondition:()Ljava/lang/String;
        10: .line 96
            aload 2 /* translator */
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getOrderBy:()Ljava/lang/String;
        11: .line 97
            aload 2 /* translator */
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getGroupBy:()Ljava/lang/String;
        12: .line 98
            getstatic org.hibernate.LockOptions.NONE:Lorg/hibernate/LockOptions;
        13: .line 93
            invokevirtual org.hibernate.loader.criteria.CriteriaJoinWalker.initProjection:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/LockOptions;)V
        14: .line 100
            aload 0 /* this */
            aload 2 /* translator */
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getProjectedTypes:()[Lorg/hibernate/type/Type;
            putfield org.hibernate.loader.criteria.CriteriaJoinWalker.resultTypes:[Lorg/hibernate/type/Type;
        15: .line 101
            aload 0 /* this */
            aload 2 /* translator */
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getProjectedAliases:()[Ljava/lang/String;
            putfield org.hibernate.loader.criteria.CriteriaJoinWalker.userAliases:[Ljava/lang/String;
        16: .line 102
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.resultTypes:[Lorg/hibernate/type/Type;
            arraylength
            newarray 4
            putfield org.hibernate.loader.criteria.CriteriaJoinWalker.includeInResultRow:[Z
        17: .line 103
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.includeInResultRow:[Z
            iconst_1
            invokestatic java.util.Arrays.fill:([ZZ)V
        18: .line 104
            goto 26
        19: .line 106
      StackMap locals: org.hibernate.loader.criteria.CriteriaJoinWalker org.hibernate.persister.entity.OuterJoinLoadable org.hibernate.loader.criteria.CriteriaQueryTranslator org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.internal.CriteriaImpl java.lang.String org.hibernate.engine.spi.LoadQueryInfluencers java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 2 /* translator */
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getWhereCondition:()Ljava/lang/String;
            aload 2 /* translator */
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getOrderBy:()Ljava/lang/String;
            getstatic org.hibernate.LockOptions.NONE:Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.loader.criteria.CriteriaJoinWalker.initAll:(Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/LockOptions;)V
        20: .line 108
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.userAliasList:Ljava/util/List;
            aload 4 /* criteria */
            invokevirtual org.hibernate.internal.CriteriaImpl.getAlias:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        21: .line 109
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.resultTypeList:Ljava/util/List;
            aload 2 /* translator */
            aload 4 /* criteria */
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getResultType:(Lorg/hibernate/Criteria;)Lorg/hibernate/type/Type;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 110
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.includeInResultRowList:Ljava/util/List;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        23: .line 111
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.userAliasList:Ljava/util/List;
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.toStringArray:(Ljava/util/Collection;)[Ljava/lang/String;
            putfield org.hibernate.loader.criteria.CriteriaJoinWalker.userAliases:[Ljava/lang/String;
        24: .line 112
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.resultTypeList:Ljava/util/List;
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.toTypeArray:(Ljava/util/Collection;)[Lorg/hibernate/type/Type;
            putfield org.hibernate.loader.criteria.CriteriaJoinWalker.resultTypes:[Lorg/hibernate/type/Type;
        25: .line 113
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.includeInResultRowList:Ljava/util/List;
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.toBooleanArray:(Ljava/util/Collection;)[Z
            putfield org.hibernate.loader.criteria.CriteriaJoinWalker.includeInResultRow:[Z
        26: .line 115
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.lang.String alias
        end local 6 // org.hibernate.engine.spi.LoadQueryInfluencers loadQueryInfluencers
        end local 5 // java.lang.String rootEntityName
        end local 4 // org.hibernate.internal.CriteriaImpl criteria
        end local 3 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        end local 2 // org.hibernate.loader.criteria.CriteriaQueryTranslator translator
        end local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        end local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   27     0                  this  Lorg/hibernate/loader/criteria/CriteriaJoinWalker;
            0   27     1             persister  Lorg/hibernate/persister/entity/OuterJoinLoadable;
            0   27     2            translator  Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
            0   27     3               factory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0   27     4              criteria  Lorg/hibernate/internal/CriteriaImpl;
            0   27     5        rootEntityName  Ljava/lang/String;
            0   27     6  loadQueryInfluencers  Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            0   27     7                 alias  Ljava/lang/String;
    MethodParameters:
                      Name  Flags
      persister             final
      translator            final
      factory               final
      criteria              final
      rootEntityName        final
      loadQueryInfluencers  final
      alias                 final

  protected org.hibernate.sql.JoinType getJoinType(org.hibernate.persister.entity.OuterJoinLoadable, org.hibernate.loader.PropertyPath, int, org.hibernate.type.AssociationType, org.hibernate.FetchMode, org.hibernate.engine.spi.CascadeStyle, java.lang.String, java.lang.String[], boolean, int);
    descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/loader/PropertyPath;ILorg/hibernate/type/AssociationType;Lorg/hibernate/FetchMode;Lorg/hibernate/engine/spi/CascadeStyle;Ljava/lang/String;[Ljava/lang/String;ZI)Lorg/hibernate/sql/JoinType;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=11, locals=16, args_size=11
        start local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
        start local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        start local 2 // org.hibernate.loader.PropertyPath path
        start local 3 // int propertyNumber
        start local 4 // org.hibernate.type.AssociationType associationType
        start local 5 // org.hibernate.FetchMode metadataFetchMode
        start local 6 // org.hibernate.engine.spi.CascadeStyle metadataCascadeStyle
        start local 7 // java.lang.String lhsTable
        start local 8 // java.lang.String[] lhsColumns
        start local 9 // boolean nullable
        start local 10 // int currentDepth
         0: .line 130
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.translator:Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
            aload 2 /* path */
            invokevirtual org.hibernate.loader.PropertyPath.getFullPath:()Ljava/lang/String;
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.isJoin:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 131
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.translator:Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
            aload 2 /* path */
            invokevirtual org.hibernate.loader.PropertyPath.getFullPath:()Ljava/lang/String;
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getJoinType:(Ljava/lang/String;)Lorg/hibernate/sql/JoinType;
            astore 11 /* resolvedJoinType */
        start local 11 // org.hibernate.sql.JoinType resolvedJoinType
         2: .line 132
            goto 56
        end local 11 // org.hibernate.sql.JoinType resolvedJoinType
         3: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.translator:Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.hasProjection:()Z
            ifeq 6
         4: .line 135
            getstatic org.hibernate.sql.JoinType.NONE:Lorg/hibernate/sql/JoinType;
            astore 11 /* resolvedJoinType */
        start local 11 // org.hibernate.sql.JoinType resolvedJoinType
         5: .line 136
            goto 56
        end local 11 // org.hibernate.sql.JoinType resolvedJoinType
         6: .line 138
      StackMap locals:
      StackMap stack:
            aload 2 /* path */
            invokevirtual org.hibernate.loader.PropertyPath.getFullPath:()Ljava/lang/String;
            astore 12 /* fullPathWithAlias */
        start local 12 // java.lang.String fullPathWithAlias
         7: .line 139
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.translator:Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getRootCriteria:()Lorg/hibernate/internal/CriteriaImpl;
            invokevirtual org.hibernate.internal.CriteriaImpl.getAlias:()Ljava/lang/String;
            astore 13 /* rootAlias */
        start local 13 // java.lang.String rootAlias
         8: .line 140
            new java.lang.StringBuilder
            dup
            aload 13 /* rootAlias */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 14 /* rootAliasPathPrefix */
        start local 14 // java.lang.String rootAliasPathPrefix
         9: .line 141
            aload 13 /* rootAlias */
            ifnull 11
            aload 12 /* fullPathWithAlias */
            aload 14 /* rootAliasPathPrefix */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 11
        10: .line 142
            new java.lang.StringBuilder
            dup
            aload 14 /* rootAliasPathPrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* fullPathWithAlias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 12 /* fullPathWithAlias */
        11: .line 145
      StackMap locals: org.hibernate.loader.criteria.CriteriaJoinWalker org.hibernate.persister.entity.OuterJoinLoadable org.hibernate.loader.PropertyPath int org.hibernate.type.AssociationType org.hibernate.FetchMode org.hibernate.engine.spi.CascadeStyle java.lang.String java.lang.String[] int int top java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.translator:Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getRootCriteria:()Lorg/hibernate/internal/CriteriaImpl;
            aload 12 /* fullPathWithAlias */
            invokevirtual org.hibernate.internal.CriteriaImpl.getFetchMode:(Ljava/lang/String;)Lorg/hibernate/FetchMode;
            astore 15 /* fetchMode */
        start local 15 // org.hibernate.FetchMode fetchMode
        12: .line 146
            aload 15 /* fetchMode */
            invokestatic org.hibernate.loader.criteria.CriteriaJoinWalker.isDefaultFetchMode:(Lorg/hibernate/FetchMode;)Z
            ifeq 47
        13: .line 147
            aload 1 /* persister */
            ifnull 36
        14: .line 148
            aload 0 /* this */
            aload 1 /* persister */
            aload 2 /* path */
            iload 3 /* propertyNumber */
            invokevirtual org.hibernate.loader.criteria.CriteriaJoinWalker.isJoinFetchEnabledByProfile:(Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/loader/PropertyPath;I)Z
            ifeq 23
        15: .line 149
            aload 0 /* this */
            aload 7 /* lhsTable */
            aload 8 /* lhsColumns */
            aload 4 /* associationType */
            invokevirtual org.hibernate.loader.criteria.CriteriaJoinWalker.isDuplicateAssociation:(Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/type/AssociationType;)Z
            ifeq 18
        16: .line 150
            getstatic org.hibernate.sql.JoinType.NONE:Lorg/hibernate/sql/JoinType;
            astore 11 /* resolvedJoinType */
        start local 11 // org.hibernate.sql.JoinType resolvedJoinType
        17: .line 151
            goto 56
        end local 11 // org.hibernate.sql.JoinType resolvedJoinType
        18: .line 152
      StackMap locals: org.hibernate.FetchMode
      StackMap stack:
            aload 0 /* this */
            iload 10 /* currentDepth */
            invokevirtual org.hibernate.loader.criteria.CriteriaJoinWalker.isTooDeep:(I)Z
            ifne 19
            aload 4 /* associationType */
            invokeinterface org.hibernate.type.AssociationType.isCollectionType:()Z
            ifeq 21
            aload 0 /* this */
            invokevirtual org.hibernate.loader.criteria.CriteriaJoinWalker.isTooManyCollections:()Z
            ifeq 21
        19: .line 153
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.sql.JoinType.NONE:Lorg/hibernate/sql/JoinType;
            astore 11 /* resolvedJoinType */
        start local 11 // org.hibernate.sql.JoinType resolvedJoinType
        20: .line 154
            goto 56
        end local 11 // org.hibernate.sql.JoinType resolvedJoinType
        21: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 9 /* nullable */
            iload 10 /* currentDepth */
            invokevirtual org.hibernate.loader.criteria.CriteriaJoinWalker.getJoinType:(ZI)Lorg/hibernate/sql/JoinType;
            astore 11 /* resolvedJoinType */
        start local 11 // org.hibernate.sql.JoinType resolvedJoinType
        22: .line 158
            goto 56
        end local 11 // org.hibernate.sql.JoinType resolvedJoinType
        23: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        24: .line 161
            aload 1 /* persister */
        25: .line 162
            aload 2 /* path */
        26: .line 163
            iload 3 /* propertyNumber */
        27: .line 164
            aload 4 /* associationType */
        28: .line 165
            aload 5 /* metadataFetchMode */
        29: .line 166
            aload 6 /* metadataCascadeStyle */
        30: .line 167
            aload 7 /* lhsTable */
        31: .line 168
            aload 8 /* lhsColumns */
        32: .line 169
            iload 9 /* nullable */
        33: .line 170
            iload 10 /* currentDepth */
        34: .line 160
            invokespecial org.hibernate.loader.AbstractEntityJoinWalker.getJoinType:(Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/loader/PropertyPath;ILorg/hibernate/type/AssociationType;Lorg/hibernate/FetchMode;Lorg/hibernate/engine/spi/CascadeStyle;Ljava/lang/String;[Ljava/lang/String;ZI)Lorg/hibernate/sql/JoinType;
            astore 11 /* resolvedJoinType */
        start local 11 // org.hibernate.sql.JoinType resolvedJoinType
        35: .line 173
            goto 56
        end local 11 // org.hibernate.sql.JoinType resolvedJoinType
        36: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        37: .line 176
            aload 4 /* associationType */
        38: .line 177
            aload 5 /* metadataFetchMode */
        39: .line 178
            aload 2 /* path */
        40: .line 179
            aload 7 /* lhsTable */
        41: .line 180
            aload 8 /* lhsColumns */
        42: .line 181
            iload 9 /* nullable */
        43: .line 182
            iload 10 /* currentDepth */
        44: .line 183
            aload 6 /* metadataCascadeStyle */
        45: .line 175
            invokespecial org.hibernate.loader.AbstractEntityJoinWalker.getJoinType:(Lorg/hibernate/type/AssociationType;Lorg/hibernate/FetchMode;Lorg/hibernate/loader/PropertyPath;Ljava/lang/String;[Ljava/lang/String;ZILorg/hibernate/engine/spi/CascadeStyle;)Lorg/hibernate/sql/JoinType;
            astore 11 /* resolvedJoinType */
        start local 11 // org.hibernate.sql.JoinType resolvedJoinType
        46: .line 187
            goto 56
        end local 11 // org.hibernate.sql.JoinType resolvedJoinType
        47: .line 189
      StackMap locals:
      StackMap stack:
            aload 15 /* fetchMode */
            getstatic org.hibernate.FetchMode.JOIN:Lorg/hibernate/FetchMode;
            if_acmpne 55
        48: .line 190
            aload 0 /* this */
        49: .line 191
            aload 7 /* lhsTable */
        50: .line 192
            aload 8 /* lhsColumns */
        51: .line 193
            aload 4 /* associationType */
        52: .line 190
            invokevirtual org.hibernate.loader.criteria.CriteriaJoinWalker.isDuplicateAssociation:(Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/type/AssociationType;)Z
            pop
        53: .line 195
            aload 0 /* this */
            iload 9 /* nullable */
            iload 10 /* currentDepth */
            invokevirtual org.hibernate.loader.criteria.CriteriaJoinWalker.getJoinType:(ZI)Lorg/hibernate/sql/JoinType;
            astore 11 /* resolvedJoinType */
        start local 11 // org.hibernate.sql.JoinType resolvedJoinType
        54: .line 196
            goto 56
        end local 11 // org.hibernate.sql.JoinType resolvedJoinType
        55: .line 198
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.sql.JoinType.NONE:Lorg/hibernate/sql/JoinType;
            astore 11 /* resolvedJoinType */
        end local 15 // org.hibernate.FetchMode fetchMode
        end local 14 // java.lang.String rootAliasPathPrefix
        end local 13 // java.lang.String rootAlias
        end local 12 // java.lang.String fullPathWithAlias
        start local 11 // org.hibernate.sql.JoinType resolvedJoinType
        56: .line 203
      StackMap locals: org.hibernate.loader.criteria.CriteriaJoinWalker org.hibernate.persister.entity.OuterJoinLoadable org.hibernate.loader.PropertyPath int org.hibernate.type.AssociationType org.hibernate.FetchMode org.hibernate.engine.spi.CascadeStyle java.lang.String java.lang.String[] int int org.hibernate.sql.JoinType
      StackMap stack:
            aload 11 /* resolvedJoinType */
            areturn
        end local 11 // org.hibernate.sql.JoinType resolvedJoinType
        end local 10 // int currentDepth
        end local 9 // boolean nullable
        end local 8 // java.lang.String[] lhsColumns
        end local 7 // java.lang.String lhsTable
        end local 6 // org.hibernate.engine.spi.CascadeStyle metadataCascadeStyle
        end local 5 // org.hibernate.FetchMode metadataFetchMode
        end local 4 // org.hibernate.type.AssociationType associationType
        end local 3 // int propertyNumber
        end local 2 // org.hibernate.loader.PropertyPath path
        end local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        end local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   57     0                  this  Lorg/hibernate/loader/criteria/CriteriaJoinWalker;
            0   57     1             persister  Lorg/hibernate/persister/entity/OuterJoinLoadable;
            0   57     2                  path  Lorg/hibernate/loader/PropertyPath;
            0   57     3        propertyNumber  I
            0   57     4       associationType  Lorg/hibernate/type/AssociationType;
            0   57     5     metadataFetchMode  Lorg/hibernate/FetchMode;
            0   57     6  metadataCascadeStyle  Lorg/hibernate/engine/spi/CascadeStyle;
            0   57     7              lhsTable  Ljava/lang/String;
            0   57     8            lhsColumns  [Ljava/lang/String;
            0   57     9              nullable  Z
            0   57    10          currentDepth  I
            2    3    11      resolvedJoinType  Lorg/hibernate/sql/JoinType;
            5    6    11      resolvedJoinType  Lorg/hibernate/sql/JoinType;
           17   18    11      resolvedJoinType  Lorg/hibernate/sql/JoinType;
           20   21    11      resolvedJoinType  Lorg/hibernate/sql/JoinType;
           22   23    11      resolvedJoinType  Lorg/hibernate/sql/JoinType;
           35   36    11      resolvedJoinType  Lorg/hibernate/sql/JoinType;
           46   47    11      resolvedJoinType  Lorg/hibernate/sql/JoinType;
           54   55    11      resolvedJoinType  Lorg/hibernate/sql/JoinType;
           56   57    11      resolvedJoinType  Lorg/hibernate/sql/JoinType;
            7   56    12     fullPathWithAlias  Ljava/lang/String;
            8   56    13             rootAlias  Ljava/lang/String;
            9   56    14   rootAliasPathPrefix  Ljava/lang/String;
           12   56    15             fetchMode  Lorg/hibernate/FetchMode;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                      Name  Flags
      persister             
      path                  final
      propertyNumber        
      associationType       
      metadataFetchMode     
      metadataCascadeStyle  
      lhsTable              
      lhsColumns            
      nullable              final
      currentDepth          final

  protected org.hibernate.sql.JoinType getJoinType(org.hibernate.type.AssociationType, org.hibernate.FetchMode, org.hibernate.loader.PropertyPath, java.lang.String, java.lang.String[], boolean, int, org.hibernate.engine.spi.CascadeStyle);
    descriptor: (Lorg/hibernate/type/AssociationType;Lorg/hibernate/FetchMode;Lorg/hibernate/loader/PropertyPath;Ljava/lang/String;[Ljava/lang/String;ZILorg/hibernate/engine/spi/CascadeStyle;)Lorg/hibernate/sql/JoinType;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=11, locals=9, args_size=9
        start local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
        start local 1 // org.hibernate.type.AssociationType associationType
        start local 2 // org.hibernate.FetchMode config
        start local 3 // org.hibernate.loader.PropertyPath path
        start local 4 // java.lang.String lhsTable
        start local 5 // java.lang.String[] lhsColumns
        start local 6 // boolean nullable
        start local 7 // int currentDepth
        start local 8 // org.hibernate.engine.spi.CascadeStyle cascadeStyle
         0: .line 216
            aload 0 /* this */
         1: .line 217
            aconst_null
         2: .line 218
            aload 3 /* path */
         3: .line 219
            iconst_m1
         4: .line 220
            aload 1 /* associationType */
         5: .line 221
            aload 2 /* config */
         6: .line 222
            aload 8 /* cascadeStyle */
         7: .line 223
            aload 4 /* lhsTable */
         8: .line 224
            aload 5 /* lhsColumns */
         9: .line 225
            iload 6 /* nullable */
        10: .line 226
            iload 7 /* currentDepth */
        11: .line 216
            invokevirtual org.hibernate.loader.criteria.CriteriaJoinWalker.getJoinType:(Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/loader/PropertyPath;ILorg/hibernate/type/AssociationType;Lorg/hibernate/FetchMode;Lorg/hibernate/engine/spi/CascadeStyle;Ljava/lang/String;[Ljava/lang/String;ZI)Lorg/hibernate/sql/JoinType;
            areturn
        end local 8 // org.hibernate.engine.spi.CascadeStyle cascadeStyle
        end local 7 // int currentDepth
        end local 6 // boolean nullable
        end local 5 // java.lang.String[] lhsColumns
        end local 4 // java.lang.String lhsTable
        end local 3 // org.hibernate.loader.PropertyPath path
        end local 2 // org.hibernate.FetchMode config
        end local 1 // org.hibernate.type.AssociationType associationType
        end local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Lorg/hibernate/loader/criteria/CriteriaJoinWalker;
            0   12     1  associationType  Lorg/hibernate/type/AssociationType;
            0   12     2           config  Lorg/hibernate/FetchMode;
            0   12     3             path  Lorg/hibernate/loader/PropertyPath;
            0   12     4         lhsTable  Ljava/lang/String;
            0   12     5       lhsColumns  [Ljava/lang/String;
            0   12     6         nullable  Z
            0   12     7     currentDepth  I
            0   12     8     cascadeStyle  Lorg/hibernate/engine/spi/CascadeStyle;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                 Name  Flags
      associationType  
      config           
      path             
      lhsTable         
      lhsColumns       
      nullable         
      currentDepth     
      cascadeStyle     

  private static boolean isDefaultFetchMode(org.hibernate.FetchMode);
    descriptor: (Lorg/hibernate/FetchMode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.FetchMode fetchMode
         0: .line 231
            aload 0 /* fetchMode */
            ifnull 1
            aload 0 /* fetchMode */
            getstatic org.hibernate.FetchMode.DEFAULT:Lorg/hibernate/FetchMode;
            if_acmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.hibernate.FetchMode fetchMode
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  fetchMode  Lorg/hibernate/FetchMode;
    MethodParameters:
           Name  Flags
      fetchMode  

  protected java.lang.String getWhereFragment();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
         0: .line 240
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokespecial org.hibernate.loader.AbstractEntityJoinWalker.getWhereFragment:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 241
            aload 0 /* this */
            invokevirtual org.hibernate.loader.criteria.CriteriaJoinWalker.getPersister:()Lorg/hibernate/persister/entity/Loadable;
            checkcast org.hibernate.persister.entity.Queryable
         2: .line 242
            aload 0 /* this */
            invokevirtual org.hibernate.loader.criteria.CriteriaJoinWalker.getAlias:()Ljava/lang/String;
         3: .line 243
            aload 0 /* this */
            invokevirtual org.hibernate.loader.criteria.CriteriaJoinWalker.getLoadQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            invokevirtual org.hibernate.engine.spi.LoadQueryInfluencers.getEnabledFilters:()Ljava/util/Map;
         4: .line 241
            invokeinterface org.hibernate.persister.entity.Queryable.filterFragment:(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 240
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hibernate/loader/criteria/CriteriaJoinWalker;
    Exceptions:
      throws org.hibernate.MappingException

  protected java.lang.String generateTableAlias(int, org.hibernate.loader.PropertyPath, org.hibernate.persister.entity.Joinable);
    descriptor: (ILorg/hibernate/loader/PropertyPath;Lorg/hibernate/persister/entity/Joinable;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
        start local 1 // int n
        start local 2 // org.hibernate.loader.PropertyPath path
        start local 3 // org.hibernate.persister.entity.Joinable joinable
         0: .line 258
            aload 3 /* joinable */
            invokeinterface org.hibernate.persister.entity.Joinable.consumesEntityAlias:()Z
            istore 4 /* checkForSqlAlias */
        start local 4 // boolean checkForSqlAlias
         1: .line 260
            iload 4 /* checkForSqlAlias */
            ifne 6
            aload 3 /* joinable */
            invokeinterface org.hibernate.persister.entity.Joinable.isCollection:()Z
            ifeq 6
         2: .line 262
            aload 3 /* joinable */
            checkcast org.hibernate.persister.collection.CollectionPersister
            astore 5 /* collectionPersister */
        start local 5 // org.hibernate.persister.collection.CollectionPersister collectionPersister
         3: .line 263
            aload 5 /* collectionPersister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getElementType:()Lorg/hibernate/type/Type;
            astore 6 /* elementType */
        start local 6 // org.hibernate.type.Type elementType
         4: .line 264
            aload 6 /* elementType */
            invokeinterface org.hibernate.type.Type.isComponentType:()Z
            ifne 5
            aload 6 /* elementType */
            invokeinterface org.hibernate.type.Type.isEntityType:()Z
            ifne 6
         5: .line 265
      StackMap locals: int org.hibernate.persister.collection.CollectionPersister org.hibernate.type.Type
      StackMap stack:
            iconst_1
            istore 4 /* checkForSqlAlias */
        end local 6 // org.hibernate.type.Type elementType
        end local 5 // org.hibernate.persister.collection.CollectionPersister collectionPersister
         6: .line 269
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* sqlAlias */
        start local 5 // java.lang.String sqlAlias
         7: .line 271
            iload 4 /* checkForSqlAlias */
            ifeq 20
         8: .line 272
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.translator:Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
            aload 2 /* path */
            invokevirtual org.hibernate.loader.PropertyPath.getFullPath:()Ljava/lang/String;
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getCriteria:(Ljava/lang/String;)Lorg/hibernate/Criteria;
            astore 6 /* subcriteria */
        start local 6 // org.hibernate.Criteria subcriteria
         9: .line 273
            aload 6 /* subcriteria */
            ifnonnull 10
            aconst_null
            goto 11
      StackMap locals: java.lang.String org.hibernate.Criteria
      StackMap stack:
        10: aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.translator:Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
            aload 6 /* subcriteria */
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getSQLAlias:(Lorg/hibernate/Criteria;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        11: astore 5 /* sqlAlias */
        12: .line 275
            aload 3 /* joinable */
            invokeinterface org.hibernate.persister.entity.Joinable.consumesEntityAlias:()Z
            ifeq 20
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.translator:Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.hasProjection:()Z
            ifne 20
        13: .line 276
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.includeInResultRowList:Ljava/util/List;
            aload 6 /* subcriteria */
            ifnull 14
            aload 6 /* subcriteria */
            invokeinterface org.hibernate.Criteria.getAlias:()Ljava/lang/String;
            ifnull 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack: java.util.List
        14: iconst_0
      StackMap locals: org.hibernate.loader.criteria.CriteriaJoinWalker int org.hibernate.loader.PropertyPath org.hibernate.persister.entity.Joinable int java.lang.String org.hibernate.Criteria
      StackMap stack: java.util.List int
        15: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 277
            aload 5 /* sqlAlias */
            ifnull 20
        17: .line 278
            aload 6 /* subcriteria */
            invokeinterface org.hibernate.Criteria.getAlias:()Ljava/lang/String;
            ifnull 20
        18: .line 279
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.userAliasList:Ljava/util/List;
            aload 6 /* subcriteria */
            invokeinterface org.hibernate.Criteria.getAlias:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 280
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.resultTypeList:Ljava/util/List;
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.translator:Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
            aload 6 /* subcriteria */
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getResultType:(Lorg/hibernate/Criteria;)Lorg/hibernate/type/Type;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.hibernate.Criteria subcriteria
        20: .line 286
      StackMap locals:
      StackMap stack:
            aload 5 /* sqlAlias */
            ifnonnull 22
        21: .line 287
            aload 0 /* this */
            iload 1 /* n */
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.translator:Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getSQLAliasCount:()I
            iadd
            aload 2 /* path */
            aload 3 /* joinable */
            invokespecial org.hibernate.loader.AbstractEntityJoinWalker.generateTableAlias:(ILorg/hibernate/loader/PropertyPath;Lorg/hibernate/persister/entity/Joinable;)Ljava/lang/String;
            astore 5 /* sqlAlias */
        22: .line 290
      StackMap locals:
      StackMap stack:
            aload 5 /* sqlAlias */
            areturn
        end local 5 // java.lang.String sqlAlias
        end local 4 // boolean checkForSqlAlias
        end local 3 // org.hibernate.persister.entity.Joinable joinable
        end local 2 // org.hibernate.loader.PropertyPath path
        end local 1 // int n
        end local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   23     0                 this  Lorg/hibernate/loader/criteria/CriteriaJoinWalker;
            0   23     1                    n  I
            0   23     2                 path  Lorg/hibernate/loader/PropertyPath;
            0   23     3             joinable  Lorg/hibernate/persister/entity/Joinable;
            1   23     4     checkForSqlAlias  Z
            3    6     5  collectionPersister  Lorg/hibernate/persister/collection/CollectionPersister;
            4    6     6          elementType  Lorg/hibernate/type/Type;
            7   23     5             sqlAlias  Ljava/lang/String;
            9   20     6          subcriteria  Lorg/hibernate/Criteria;
    MethodParameters:
          Name  Flags
      n         
      path      
      joinable  

  protected java.lang.String generateRootAlias(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
        start local 1 // java.lang.String tableName
         0: .line 295
            ldc "this_"
            areturn
        end local 1 // java.lang.String tableName
        end local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/loader/criteria/CriteriaJoinWalker;
            0    1     1  tableName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      tableName  

  public java.util.Set getQuerySpaces();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
         0: .line 299
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.querySpaces:Ljava/util/Set;
            areturn
        end local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/criteria/CriteriaJoinWalker;

  public java.lang.String getComment();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
         0: .line 304
            ldc "criteria query"
            areturn
        end local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/criteria/CriteriaJoinWalker;

  protected java.lang.String getWithClause(org.hibernate.loader.PropertyPath);
    descriptor: (Lorg/hibernate/loader/PropertyPath;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
        start local 1 // org.hibernate.loader.PropertyPath path
         0: .line 309
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.translator:Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
            aload 1 /* path */
            invokevirtual org.hibernate.loader.PropertyPath.getFullPath:()Ljava/lang/String;
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.getWithClause:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // org.hibernate.loader.PropertyPath path
        end local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/criteria/CriteriaJoinWalker;
            0    1     1  path  Lorg/hibernate/loader/PropertyPath;
    MethodParameters:
      Name  Flags
      path  

  protected boolean hasRestriction(org.hibernate.loader.PropertyPath);
    descriptor: (Lorg/hibernate/loader/PropertyPath;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
        start local 1 // org.hibernate.loader.PropertyPath path
         0: .line 314
            aload 0 /* this */
            getfield org.hibernate.loader.criteria.CriteriaJoinWalker.translator:Lorg/hibernate/loader/criteria/CriteriaQueryTranslator;
            aload 1 /* path */
            invokevirtual org.hibernate.loader.PropertyPath.getFullPath:()Ljava/lang/String;
            invokevirtual org.hibernate.loader.criteria.CriteriaQueryTranslator.hasRestriction:(Ljava/lang/String;)Z
            ireturn
        end local 1 // org.hibernate.loader.PropertyPath path
        end local 0 // org.hibernate.loader.criteria.CriteriaJoinWalker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/criteria/CriteriaJoinWalker;
            0    1     1  path  Lorg/hibernate/loader/PropertyPath;
    MethodParameters:
      Name  Flags
      path  
}
SourceFile: "CriteriaJoinWalker.java"