final class org.bson.codecs.pojo.EnumPropertyCodecProvider implements org.bson.codecs.pojo.PropertyCodecProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.bson.codecs.pojo.EnumPropertyCodecProvider
  super_class: java.lang.Object
{
  private final org.bson.codecs.configuration.CodecRegistry codecRegistry;
    descriptor: Lorg/bson/codecs/configuration/CodecRegistry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(org.bson.codecs.configuration.CodecRegistry);
    descriptor: (Lorg/bson/codecs/configuration/CodecRegistry;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.codecs.pojo.EnumPropertyCodecProvider this
        start local 1 // org.bson.codecs.configuration.CodecRegistry codecRegistry
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 32
            aload 0 /* this */
            aload 1 /* codecRegistry */
            putfield org.bson.codecs.pojo.EnumPropertyCodecProvider.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
         2: .line 33
            return
        end local 1 // org.bson.codecs.configuration.CodecRegistry codecRegistry
        end local 0 // org.bson.codecs.pojo.EnumPropertyCodecProvider this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/bson/codecs/pojo/EnumPropertyCodecProvider;
            0    3     1  codecRegistry  Lorg/bson/codecs/configuration/CodecRegistry;
    MethodParameters:
               Name  Flags
      codecRegistry  final

  public <T> org.bson.codecs.Codec<T> get(org.bson.codecs.pojo.TypeWithTypeParameters<T>, org.bson.codecs.pojo.PropertyCodecRegistry);
    descriptor: (Lorg/bson/codecs/pojo/TypeWithTypeParameters;Lorg/bson/codecs/pojo/PropertyCodecRegistry;)Lorg/bson/codecs/Codec;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.bson.codecs.pojo.EnumPropertyCodecProvider this
        start local 1 // org.bson.codecs.pojo.TypeWithTypeParameters type
        start local 2 // org.bson.codecs.pojo.PropertyCodecRegistry propertyCodecRegistry
         0: .line 38
            aload 1 /* type */
            invokeinterface org.bson.codecs.pojo.TypeWithTypeParameters.getType:()Ljava/lang/Class;
            astore 3 /* clazz */
        start local 3 // java.lang.Class clazz
         1: .line 39
            ldc Ljava/lang/Enum;
            aload 3 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 6
         2: .line 41
            aload 0 /* this */
            getfield org.bson.codecs.pojo.EnumPropertyCodecProvider.codecRegistry:Lorg/bson/codecs/configuration/CodecRegistry;
            aload 3 /* clazz */
            invokeinterface org.bson.codecs.configuration.CodecRegistry.get:(Ljava/lang/Class;)Lorg/bson/codecs/Codec;
         3: areturn
         4: .line 42
      StackMap locals: org.bson.codecs.pojo.EnumPropertyCodecProvider org.bson.codecs.pojo.TypeWithTypeParameters org.bson.codecs.pojo.PropertyCodecRegistry java.lang.Class
      StackMap stack: org.bson.codecs.configuration.CodecConfigurationException
            pop
         5: .line 43
            new org.bson.codecs.pojo.EnumPropertyCodecProvider$EnumCodec
            dup
            aload 3 /* clazz */
            invokespecial org.bson.codecs.pojo.EnumPropertyCodecProvider$EnumCodec.<init>:(Ljava/lang/Class;)V
            areturn
         6: .line 46
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.Class clazz
        end local 2 // org.bson.codecs.pojo.PropertyCodecRegistry propertyCodecRegistry
        end local 1 // org.bson.codecs.pojo.TypeWithTypeParameters type
        end local 0 // org.bson.codecs.pojo.EnumPropertyCodecProvider this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    7     0                   this  Lorg/bson/codecs/pojo/EnumPropertyCodecProvider;
            0    7     1                   type  Lorg/bson/codecs/pojo/TypeWithTypeParameters<TT;>;
            0    7     2  propertyCodecRegistry  Lorg/bson/codecs/pojo/PropertyCodecRegistry;
            1    7     3                  clazz  Ljava/lang/Class<TT;>;
      Exception table:
        from    to  target  type
           2     3       4  Class org.bson.codecs.configuration.CodecConfigurationException
    Signature: <T:Ljava/lang/Object;>(Lorg/bson/codecs/pojo/TypeWithTypeParameters<TT;>;Lorg/bson/codecs/pojo/PropertyCodecRegistry;)Lorg/bson/codecs/Codec<TT;>;
    MethodParameters:
                       Name  Flags
      type                   final
      propertyCodecRegistry  final
}
SourceFile: "EnumPropertyCodecProvider.java"
NestMembers:
  org.bson.codecs.pojo.EnumPropertyCodecProvider$EnumCodec
InnerClasses:
  private EnumCodec = org.bson.codecs.pojo.EnumPropertyCodecProvider$EnumCodec of org.bson.codecs.pojo.EnumPropertyCodecProvider