public abstract class org.hibernate.metamodel.internal.PluralAttributeImpl<X, C, E> extends org.hibernate.metamodel.internal.AbstractAttribute<X, C> implements javax.persistence.metamodel.PluralAttribute<X, C, E>, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.hibernate.metamodel.internal.PluralAttributeImpl
  super_class: org.hibernate.metamodel.internal.AbstractAttribute
{
  private final javax.persistence.metamodel.Type<E> elementType;
    descriptor: Ljavax/persistence/metamodel/Type;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljavax/persistence/metamodel/Type<TE;>;

  private void <init>(org.hibernate.metamodel.internal.PluralAttributeImpl$Builder<X, C, E, ?>);
    descriptor: (Lorg/hibernate/metamodel/internal/PluralAttributeImpl$Builder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.internal.PluralAttributeImpl this
        start local 1 // org.hibernate.metamodel.internal.PluralAttributeImpl$Builder builder
         0: .line 35
            aload 0 /* this */
         1: .line 36
            aload 1 /* builder */
            getfield org.hibernate.metamodel.internal.PluralAttributeImpl$Builder.property:Lorg/hibernate/mapping/Property;
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
         2: .line 37
            aload 1 /* builder */
            getfield org.hibernate.metamodel.internal.PluralAttributeImpl$Builder.collectionClass:Ljava/lang/Class;
         3: .line 38
            aload 1 /* builder */
            getfield org.hibernate.metamodel.internal.PluralAttributeImpl$Builder.type:Lorg/hibernate/metamodel/internal/AbstractManagedType;
         4: .line 39
            aload 1 /* builder */
            getfield org.hibernate.metamodel.internal.PluralAttributeImpl$Builder.member:Ljava/lang/reflect/Member;
         5: .line 40
            aload 1 /* builder */
            getfield org.hibernate.metamodel.internal.PluralAttributeImpl$Builder.persistentAttributeType:Ljavax/persistence/metamodel/Attribute$PersistentAttributeType;
            invokespecial org.hibernate.metamodel.internal.AbstractAttribute.<init>:(Ljava/lang/String;Ljava/lang/Class;Lorg/hibernate/metamodel/internal/AbstractManagedType;Ljava/lang/reflect/Member;Ljavax/persistence/metamodel/Attribute$PersistentAttributeType;)V
         6: .line 42
            aload 0 /* this */
            aload 1 /* builder */
            getfield org.hibernate.metamodel.internal.PluralAttributeImpl$Builder.attributeType:Ljavax/persistence/metamodel/Type;
            putfield org.hibernate.metamodel.internal.PluralAttributeImpl.elementType:Ljavax/persistence/metamodel/Type;
         7: .line 43
            return
        end local 1 // org.hibernate.metamodel.internal.PluralAttributeImpl$Builder builder
        end local 0 // org.hibernate.metamodel.internal.PluralAttributeImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/hibernate/metamodel/internal/PluralAttributeImpl<TX;TC;TE;>;
            0    8     1  builder  Lorg/hibernate/metamodel/internal/PluralAttributeImpl$Builder<TX;TC;TE;*>;
    Signature: (Lorg/hibernate/metamodel/internal/PluralAttributeImpl$Builder<TX;TC;TE;*>;)V
    MethodParameters:
         Name  Flags
      builder  

  public static <X, C, E, K> org.hibernate.metamodel.internal.PluralAttributeImpl$Builder<X, C, E, K> create(org.hibernate.metamodel.internal.AbstractManagedType<X>, javax.persistence.metamodel.Type<E>, java.lang.Class<C>, javax.persistence.metamodel.Type<K>);
    descriptor: (Lorg/hibernate/metamodel/internal/AbstractManagedType;Ljavax/persistence/metamodel/Type;Ljava/lang/Class;Ljavax/persistence/metamodel/Type;)Lorg/hibernate/metamodel/internal/PluralAttributeImpl$Builder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.hibernate.metamodel.internal.AbstractManagedType ownerType
        start local 1 // javax.persistence.metamodel.Type attrType
        start local 2 // java.lang.Class collectionClass
        start local 3 // javax.persistence.metamodel.Type keyType
         0: .line 146
            new org.hibernate.metamodel.internal.PluralAttributeImpl$Builder
            dup
            aload 0 /* ownerType */
            aload 1 /* attrType */
            aload 2 /* collectionClass */
            aload 3 /* keyType */
            invokespecial org.hibernate.metamodel.internal.PluralAttributeImpl$Builder.<init>:(Lorg/hibernate/metamodel/internal/AbstractManagedType;Ljavax/persistence/metamodel/Type;Ljava/lang/Class;Ljavax/persistence/metamodel/Type;)V
            areturn
        end local 3 // javax.persistence.metamodel.Type keyType
        end local 2 // java.lang.Class collectionClass
        end local 1 // javax.persistence.metamodel.Type attrType
        end local 0 // org.hibernate.metamodel.internal.AbstractManagedType ownerType
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0        ownerType  Lorg/hibernate/metamodel/internal/AbstractManagedType<TX;>;
            0    1     1         attrType  Ljavax/persistence/metamodel/Type<TE;>;
            0    1     2  collectionClass  Ljava/lang/Class<TC;>;
            0    1     3          keyType  Ljavax/persistence/metamodel/Type<TK;>;
    Signature: <X:Ljava/lang/Object;C:Ljava/lang/Object;E:Ljava/lang/Object;K:Ljava/lang/Object;>(Lorg/hibernate/metamodel/internal/AbstractManagedType<TX;>;Ljavax/persistence/metamodel/Type<TE;>;Ljava/lang/Class<TC;>;Ljavax/persistence/metamodel/Type<TK;>;)Lorg/hibernate/metamodel/internal/PluralAttributeImpl$Builder<TX;TC;TE;TK;>;
    MethodParameters:
                 Name  Flags
      ownerType        
      attrType         
      collectionClass  
      keyType          

  public javax.persistence.metamodel.Type<E> getElementType();
    descriptor: ()Ljavax/persistence/metamodel/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.internal.PluralAttributeImpl this
         0: .line 151
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.PluralAttributeImpl.elementType:Ljavax/persistence/metamodel/Type;
            areturn
        end local 0 // org.hibernate.metamodel.internal.PluralAttributeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/internal/PluralAttributeImpl<TX;TC;TE;>;
    Signature: ()Ljavax/persistence/metamodel/Type<TE;>;

  public boolean isAssociation();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.internal.PluralAttributeImpl this
         0: .line 156
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.internal.PluralAttributeImpl.getPersistentAttributeType:()Ljavax/persistence/metamodel/Attribute$PersistentAttributeType;
            getstatic javax.persistence.metamodel.Attribute$PersistentAttributeType.ONE_TO_MANY:Ljavax/persistence/metamodel/Attribute$PersistentAttributeType;
            if_acmpeq 3
         1: .line 157
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.internal.PluralAttributeImpl.getPersistentAttributeType:()Ljavax/persistence/metamodel/Attribute$PersistentAttributeType;
            getstatic javax.persistence.metamodel.Attribute$PersistentAttributeType.MANY_TO_MANY:Ljavax/persistence/metamodel/Attribute$PersistentAttributeType;
            if_acmpeq 3
         2: .line 156
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // org.hibernate.metamodel.internal.PluralAttributeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/metamodel/internal/PluralAttributeImpl<TX;TC;TE;>;

  public boolean isCollection();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.internal.PluralAttributeImpl this
         0: .line 162
            iconst_1
            ireturn
        end local 0 // org.hibernate.metamodel.internal.PluralAttributeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/internal/PluralAttributeImpl<TX;TC;TE;>;

  public javax.persistence.metamodel.Bindable$BindableType getBindableType();
    descriptor: ()Ljavax/persistence/metamodel/Bindable$BindableType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.internal.PluralAttributeImpl this
         0: .line 167
            getstatic javax.persistence.metamodel.Bindable$BindableType.PLURAL_ATTRIBUTE:Ljavax/persistence/metamodel/Bindable$BindableType;
            areturn
        end local 0 // org.hibernate.metamodel.internal.PluralAttributeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/internal/PluralAttributeImpl<TX;TC;TE;>;

  public java.lang.Class<E> getBindableJavaType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.internal.PluralAttributeImpl this
         0: .line 172
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.PluralAttributeImpl.elementType:Ljavax/persistence/metamodel/Type;
            invokeinterface javax.persistence.metamodel.Type.getJavaType:()Ljava/lang/Class;
            areturn
        end local 0 // org.hibernate.metamodel.internal.PluralAttributeImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/internal/PluralAttributeImpl<TX;TC;TE;>;
    Signature: ()Ljava/lang/Class<TE;>;
}
Signature: <X:Ljava/lang/Object;C:Ljava/lang/Object;E:Ljava/lang/Object;>Lorg/hibernate/metamodel/internal/AbstractAttribute<TX;TC;>;Ljavax/persistence/metamodel/PluralAttribute<TX;TC;TE;>;Ljava/io/Serializable;
SourceFile: "PluralAttributeImpl.java"
NestMembers:
  org.hibernate.metamodel.internal.PluralAttributeImpl$Builder  org.hibernate.metamodel.internal.PluralAttributeImpl$CollectionAttributeImpl  org.hibernate.metamodel.internal.PluralAttributeImpl$ListAttributeImpl  org.hibernate.metamodel.internal.PluralAttributeImpl$MapAttributeImpl  org.hibernate.metamodel.internal.PluralAttributeImpl$SetAttributeImpl
InnerClasses:
  public final PersistentAttributeType = javax.persistence.metamodel.Attribute$PersistentAttributeType of javax.persistence.metamodel.Attribute
  public final BindableType = javax.persistence.metamodel.Bindable$BindableType of javax.persistence.metamodel.Bindable
  public Builder = org.hibernate.metamodel.internal.PluralAttributeImpl$Builder of org.hibernate.metamodel.internal.PluralAttributeImpl
  CollectionAttributeImpl = org.hibernate.metamodel.internal.PluralAttributeImpl$CollectionAttributeImpl of org.hibernate.metamodel.internal.PluralAttributeImpl
  ListAttributeImpl = org.hibernate.metamodel.internal.PluralAttributeImpl$ListAttributeImpl of org.hibernate.metamodel.internal.PluralAttributeImpl
  MapAttributeImpl = org.hibernate.metamodel.internal.PluralAttributeImpl$MapAttributeImpl of org.hibernate.metamodel.internal.PluralAttributeImpl
  SetAttributeImpl = org.hibernate.metamodel.internal.PluralAttributeImpl$SetAttributeImpl of org.hibernate.metamodel.internal.PluralAttributeImpl