public final class org.hibernate.event.spi.EventType<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.hibernate.event.spi.EventType
  super_class: java.lang.Object
{
  private static java.util.concurrent.atomic.AtomicInteger typeCounter;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.LoadEventListener> LOAD;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/LoadEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.ResolveNaturalIdEventListener> RESOLVE_NATURAL_ID;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/ResolveNaturalIdEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.InitializeCollectionEventListener> INIT_COLLECTION;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/InitializeCollectionEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.SaveOrUpdateEventListener> SAVE_UPDATE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/SaveOrUpdateEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.SaveOrUpdateEventListener> UPDATE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/SaveOrUpdateEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.SaveOrUpdateEventListener> SAVE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/SaveOrUpdateEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PersistEventListener> PERSIST;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PersistEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PersistEventListener> PERSIST_ONFLUSH;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PersistEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.MergeEventListener> MERGE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/MergeEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.DeleteEventListener> DELETE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/DeleteEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.ReplicateEventListener> REPLICATE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/ReplicateEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.FlushEventListener> FLUSH;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/FlushEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.AutoFlushEventListener> AUTO_FLUSH;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/AutoFlushEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.DirtyCheckEventListener> DIRTY_CHECK;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/DirtyCheckEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.FlushEntityEventListener> FLUSH_ENTITY;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/FlushEntityEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.ClearEventListener> CLEAR;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/ClearEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.EvictEventListener> EVICT;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/EvictEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.LockEventListener> LOCK;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/LockEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.RefreshEventListener> REFRESH;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/RefreshEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PreLoadEventListener> PRE_LOAD;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PreLoadEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PreDeleteEventListener> PRE_DELETE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PreDeleteEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PreUpdateEventListener> PRE_UPDATE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PreUpdateEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PreInsertEventListener> PRE_INSERT;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PreInsertEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PostLoadEventListener> POST_LOAD;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PostLoadEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PostDeleteEventListener> POST_DELETE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PostDeleteEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PostUpdateEventListener> POST_UPDATE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PostUpdateEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PostInsertEventListener> POST_INSERT;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PostInsertEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PostDeleteEventListener> POST_COMMIT_DELETE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PostDeleteEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PostUpdateEventListener> POST_COMMIT_UPDATE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PostUpdateEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PostInsertEventListener> POST_COMMIT_INSERT;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PostInsertEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PreCollectionRecreateEventListener> PRE_COLLECTION_RECREATE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PreCollectionRecreateEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PreCollectionRemoveEventListener> PRE_COLLECTION_REMOVE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PreCollectionRemoveEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PreCollectionUpdateEventListener> PRE_COLLECTION_UPDATE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PreCollectionUpdateEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PostCollectionRecreateEventListener> POST_COLLECTION_RECREATE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PostCollectionRecreateEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PostCollectionRemoveEventListener> POST_COLLECTION_REMOVE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PostCollectionRemoveEventListener;>;

  public static final org.hibernate.event.spi.EventType<org.hibernate.event.spi.PostCollectionUpdateEventListener> POST_COLLECTION_UPDATE;
    descriptor: Lorg/hibernate/event/spi/EventType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/hibernate/event/spi/EventType<Lorg/hibernate/event/spi/PostCollectionUpdateEventListener;>;

  private static final java.util.Map<java.lang.String, org.hibernate.event.spi.EventType> EVENT_TYPE_BY_NAME_MAP;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/event/spi/EventType;>;

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

  private final java.lang.Class<T> baseListenerInterface;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<TT;>;

  private final int ordinal;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 26
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putstatic org.hibernate.event.spi.EventType.typeCounter:Ljava/util/concurrent/atomic/AtomicInteger;
         1: .line 28
            ldc "load"
            ldc Lorg/hibernate/event/spi/LoadEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.LOAD:Lorg/hibernate/event/spi/EventType;
         2: .line 29
            ldc "resolve-natural-id"
            ldc Lorg/hibernate/event/spi/ResolveNaturalIdEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.RESOLVE_NATURAL_ID:Lorg/hibernate/event/spi/EventType;
         3: .line 31
            ldc "load-collection"
            ldc Lorg/hibernate/event/spi/InitializeCollectionEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.INIT_COLLECTION:Lorg/hibernate/event/spi/EventType;
         4: .line 33
            ldc "save-update"
            ldc Lorg/hibernate/event/spi/SaveOrUpdateEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.SAVE_UPDATE:Lorg/hibernate/event/spi/EventType;
         5: .line 34
            ldc "update"
            ldc Lorg/hibernate/event/spi/SaveOrUpdateEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.UPDATE:Lorg/hibernate/event/spi/EventType;
         6: .line 35
            ldc "save"
            ldc Lorg/hibernate/event/spi/SaveOrUpdateEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.SAVE:Lorg/hibernate/event/spi/EventType;
         7: .line 36
            ldc "create"
            ldc Lorg/hibernate/event/spi/PersistEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.PERSIST:Lorg/hibernate/event/spi/EventType;
         8: .line 37
            ldc "create-onflush"
            ldc Lorg/hibernate/event/spi/PersistEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.PERSIST_ONFLUSH:Lorg/hibernate/event/spi/EventType;
         9: .line 39
            ldc "merge"
            ldc Lorg/hibernate/event/spi/MergeEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.MERGE:Lorg/hibernate/event/spi/EventType;
        10: .line 41
            ldc "delete"
            ldc Lorg/hibernate/event/spi/DeleteEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.DELETE:Lorg/hibernate/event/spi/EventType;
        11: .line 43
            ldc "replicate"
            ldc Lorg/hibernate/event/spi/ReplicateEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.REPLICATE:Lorg/hibernate/event/spi/EventType;
        12: .line 45
            ldc "flush"
            ldc Lorg/hibernate/event/spi/FlushEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.FLUSH:Lorg/hibernate/event/spi/EventType;
        13: .line 46
            ldc "auto-flush"
            ldc Lorg/hibernate/event/spi/AutoFlushEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.AUTO_FLUSH:Lorg/hibernate/event/spi/EventType;
        14: .line 47
            ldc "dirty-check"
            ldc Lorg/hibernate/event/spi/DirtyCheckEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.DIRTY_CHECK:Lorg/hibernate/event/spi/EventType;
        15: .line 48
            ldc "flush-entity"
            ldc Lorg/hibernate/event/spi/FlushEntityEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.FLUSH_ENTITY:Lorg/hibernate/event/spi/EventType;
        16: .line 50
            ldc "clear"
            ldc Lorg/hibernate/event/spi/ClearEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.CLEAR:Lorg/hibernate/event/spi/EventType;
        17: .line 51
            ldc "evict"
            ldc Lorg/hibernate/event/spi/EvictEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.EVICT:Lorg/hibernate/event/spi/EventType;
        18: .line 53
            ldc "lock"
            ldc Lorg/hibernate/event/spi/LockEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.LOCK:Lorg/hibernate/event/spi/EventType;
        19: .line 55
            ldc "refresh"
            ldc Lorg/hibernate/event/spi/RefreshEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.REFRESH:Lorg/hibernate/event/spi/EventType;
        20: .line 57
            ldc "pre-load"
            ldc Lorg/hibernate/event/spi/PreLoadEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.PRE_LOAD:Lorg/hibernate/event/spi/EventType;
        21: .line 58
            ldc "pre-delete"
            ldc Lorg/hibernate/event/spi/PreDeleteEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.PRE_DELETE:Lorg/hibernate/event/spi/EventType;
        22: .line 59
            ldc "pre-update"
            ldc Lorg/hibernate/event/spi/PreUpdateEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.PRE_UPDATE:Lorg/hibernate/event/spi/EventType;
        23: .line 60
            ldc "pre-insert"
            ldc Lorg/hibernate/event/spi/PreInsertEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.PRE_INSERT:Lorg/hibernate/event/spi/EventType;
        24: .line 62
            ldc "post-load"
            ldc Lorg/hibernate/event/spi/PostLoadEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.POST_LOAD:Lorg/hibernate/event/spi/EventType;
        25: .line 63
            ldc "post-delete"
            ldc Lorg/hibernate/event/spi/PostDeleteEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.POST_DELETE:Lorg/hibernate/event/spi/EventType;
        26: .line 64
            ldc "post-update"
            ldc Lorg/hibernate/event/spi/PostUpdateEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.POST_UPDATE:Lorg/hibernate/event/spi/EventType;
        27: .line 65
            ldc "post-insert"
            ldc Lorg/hibernate/event/spi/PostInsertEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.POST_INSERT:Lorg/hibernate/event/spi/EventType;
        28: .line 67
            ldc "post-commit-delete"
            ldc Lorg/hibernate/event/spi/PostDeleteEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.POST_COMMIT_DELETE:Lorg/hibernate/event/spi/EventType;
        29: .line 68
            ldc "post-commit-update"
            ldc Lorg/hibernate/event/spi/PostUpdateEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.POST_COMMIT_UPDATE:Lorg/hibernate/event/spi/EventType;
        30: .line 69
            ldc "post-commit-insert"
            ldc Lorg/hibernate/event/spi/PostInsertEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.POST_COMMIT_INSERT:Lorg/hibernate/event/spi/EventType;
        31: .line 71
            ldc "pre-collection-recreate"
            ldc Lorg/hibernate/event/spi/PreCollectionRecreateEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.PRE_COLLECTION_RECREATE:Lorg/hibernate/event/spi/EventType;
        32: .line 72
            ldc "pre-collection-remove"
            ldc Lorg/hibernate/event/spi/PreCollectionRemoveEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.PRE_COLLECTION_REMOVE:Lorg/hibernate/event/spi/EventType;
        33: .line 73
            ldc "pre-collection-update"
            ldc Lorg/hibernate/event/spi/PreCollectionUpdateEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.PRE_COLLECTION_UPDATE:Lorg/hibernate/event/spi/EventType;
        34: .line 75
            ldc "post-collection-recreate"
            ldc Lorg/hibernate/event/spi/PostCollectionRecreateEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.POST_COLLECTION_RECREATE:Lorg/hibernate/event/spi/EventType;
        35: .line 76
            ldc "post-collection-remove"
            ldc Lorg/hibernate/event/spi/PostCollectionRemoveEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.POST_COLLECTION_REMOVE:Lorg/hibernate/event/spi/EventType;
        36: .line 77
            ldc "post-collection-update"
            ldc Lorg/hibernate/event/spi/PostCollectionUpdateEventListener;
            invokestatic org.hibernate.event.spi.EventType.create:(Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
            putstatic org.hibernate.event.spi.EventType.POST_COLLECTION_UPDATE:Lorg/hibernate/event/spi/EventType;
        37: .line 89
            new org.hibernate.event.spi.EventType$1
            dup
            invokespecial org.hibernate.event.spi.EventType$1.<init>:()V
        38: .line 88
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.util.Map
            putstatic org.hibernate.event.spi.EventType.EVENT_TYPE_BY_NAME_MAP:Ljava/util/Map;
        39: .line 107
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static <T> org.hibernate.event.spi.EventType<T> create(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Lorg/hibernate/event/spi/EventType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.Class listenerClass
         0: .line 81
            new org.hibernate.event.spi.EventType
            dup
            aload 0 /* name */
            aload 1 /* listenerClass */
            invokespecial org.hibernate.event.spi.EventType.<init>:(Ljava/lang/String;Ljava/lang/Class;)V
            areturn
        end local 1 // java.lang.Class listenerClass
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           name  Ljava/lang/String;
            0    1     1  listenerClass  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)Lorg/hibernate/event/spi/EventType<TT;>;
    MethodParameters:
               Name  Flags
      name           
      listenerClass  

  public static org.hibernate.event.spi.EventType resolveEventTypeByName(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/event/spi/EventType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String eventName
         0: .line 119
            aload 0 /* eventName */
            ifnonnull 2
         1: .line 120
            new org.hibernate.HibernateException
            dup
            ldc "event name to resolve cannot be null"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 122
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.event.spi.EventType.EVENT_TYPE_BY_NAME_MAP:Ljava/util/Map;
            aload 0 /* eventName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.event.spi.EventType
            astore 1 /* eventType */
        start local 1 // org.hibernate.event.spi.EventType eventType
         3: .line 123
            aload 1 /* eventType */
            ifnonnull 5
         4: .line 124
            new org.hibernate.HibernateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to locate proper event type for event name ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* eventName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 126
      StackMap locals: org.hibernate.event.spi.EventType
      StackMap stack:
            aload 1 /* eventType */
            areturn
        end local 1 // org.hibernate.event.spi.EventType eventType
        end local 0 // java.lang.String eventName
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  eventName  Ljava/lang/String;
            3    6     1  eventType  Lorg/hibernate/event/spi/EventType;
    MethodParameters:
           Name  Flags
      eventName  final

  public static java.util.Collection<org.hibernate.event.spi.EventType> values();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 135
            getstatic org.hibernate.event.spi.EventType.EVENT_TYPE_BY_NAME_MAP:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Collection<Lorg/hibernate/event/spi/EventType;>;

  private void <init>(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.event.spi.EventType this
        start local 1 // java.lang.String eventName
        start local 2 // java.lang.Class baseListenerInterface
         0: .line 142
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 143
            aload 0 /* this */
            aload 1 /* eventName */
            putfield org.hibernate.event.spi.EventType.eventName:Ljava/lang/String;
         2: .line 144
            aload 0 /* this */
            aload 2 /* baseListenerInterface */
            putfield org.hibernate.event.spi.EventType.baseListenerInterface:Ljava/lang/Class;
         3: .line 145
            aload 0 /* this */
            getstatic org.hibernate.event.spi.EventType.typeCounter:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
            putfield org.hibernate.event.spi.EventType.ordinal:I
         4: .line 146
            return
        end local 2 // java.lang.Class baseListenerInterface
        end local 1 // java.lang.String eventName
        end local 0 // org.hibernate.event.spi.EventType this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    5     0                   this  Lorg/hibernate/event/spi/EventType<TT;>;
            0    5     1              eventName  Ljava/lang/String;
            0    5     2  baseListenerInterface  Ljava/lang/Class<TT;>;
    Signature: (Ljava/lang/String;Ljava/lang/Class<TT;>;)V
    MethodParameters:
                       Name  Flags
      eventName              
      baseListenerInterface  

  public java.lang.String eventName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.event.spi.EventType this
         0: .line 149
            aload 0 /* this */
            getfield org.hibernate.event.spi.EventType.eventName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.event.spi.EventType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/event/spi/EventType<TT;>;

  public java.lang.Class baseListenerInterface();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.event.spi.EventType this
         0: .line 153
            aload 0 /* this */
            getfield org.hibernate.event.spi.EventType.baseListenerInterface:Ljava/lang/Class;
            areturn
        end local 0 // org.hibernate.event.spi.EventType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/event/spi/EventType<TT;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.event.spi.EventType this
         0: .line 158
            aload 0 /* this */
            invokevirtual org.hibernate.event.spi.EventType.eventName:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.event.spi.EventType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/event/spi/EventType<TT;>;

  public int ordinal();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.event.spi.EventType this
         0: .line 170
            aload 0 /* this */
            getfield org.hibernate.event.spi.EventType.ordinal:I
            ireturn
        end local 0 // org.hibernate.event.spi.EventType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/event/spi/EventType<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "EventType.java"
NestMembers:
  org.hibernate.event.spi.EventType$1
InnerClasses:
  org.hibernate.event.spi.EventType$1