class io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1 implements javax.ws.rs.ext.ParamConverter<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1
  super_class: java.lang.Object
{
  final io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider this$0;
    descriptor: Lio/dropwizard/jersey/validation/FuzzyEnumParamConverterProvider;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final java.lang.reflect.Method val$fromStringMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.lang.String val$parameterName;
    descriptor: Ljava/lang/String;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.lang.Class val$rawType;
    descriptor: Ljava/lang/Class;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.lang.Enum[] val$constants;
    descriptor: [Ljava/lang/Enum;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider, java.lang.reflect.Method, java.lang.String, java.lang.Class, java.lang.Enum[]);
    descriptor: (Lio/dropwizard/jersey/validation/FuzzyEnumParamConverterProvider;Ljava/lang/reflect/Method;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Enum;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1 this
         0: .line 53
            aload 0 /* this */
            aload 1
            putfield io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.this$0:Lio/dropwizard/jersey/validation/FuzzyEnumParamConverterProvider;
            aload 0 /* this */
            aload 2
            putfield io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.val$fromStringMethod:Ljava/lang/reflect/Method;
            aload 0 /* this */
            aload 3
            putfield io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.val$parameterName:Ljava/lang/String;
            aload 0 /* this */
            aload 4
            putfield io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.val$rawType:Ljava/lang/Class;
            aload 0 /* this */
            aload 5
            putfield io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.val$constants:[Ljava/lang/Enum;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/dropwizard/jersey/validation/FuzzyEnumParamConverterProvider$1;
    MethodParameters:
                      Name  Flags
      this$0                final
      val$fromStringMethod  final
      val$parameterName     final
      val$rawType           final
      val$constants         final

  public T fromString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1 this
        start local 1 // java.lang.String value
         0: .line 57
            aload 1 /* value */
            invokestatic com.google.common.base.Strings.isNullOrEmpty:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 58
            aconst_null
            areturn
         2: .line 61
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.val$fromStringMethod:Ljava/lang/reflect/Method;
            ifnull 22
         3: .line 63
            aload 0 /* this */
            getfield io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.val$fromStringMethod:Ljava/lang/reflect/Method;
            aconst_null
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* value */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* constant */
        start local 2 // java.lang.Object constant
         4: .line 65
            aload 2 /* constant */
            ifnull 7
         5: .line 66
            aload 2 /* constant */
         6: areturn
         7: .line 69
      StackMap locals: java.lang.Object
      StackMap stack:
            ldc "%s is not a valid %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.val$parameterName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.val$rawType:Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 68
            astore 3 /* errMsg */
        start local 3 // java.lang.String errMsg
         9: .line 70
            new javax.ws.rs.WebApplicationException
            dup
            aload 0 /* this */
            aload 3 /* errMsg */
            invokevirtual io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.getErrorResponse:(Ljava/lang/String;)Ljavax/ws/rs/core/Response;
            invokespecial javax.ws.rs.WebApplicationException.<init>:(Ljavax/ws/rs/core/Response;)V
            athrow
        end local 3 // java.lang.String errMsg
        end local 2 // java.lang.Object constant
        10: .line 71
      StackMap locals: io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1 java.lang.String
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* e */
        start local 2 // java.lang.IllegalAccessException e
        11: .line 73
            ldc "Not permitted to call fromString on %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.val$rawType:Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        12: .line 72
            astore 3 /* errMsg */
        start local 3 // java.lang.String errMsg
        13: .line 74
            getstatic io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider.LOGGER:Lorg/slf4j/Logger;
            aload 3 /* errMsg */
            aload 2 /* e */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        14: .line 75
            new javax.ws.rs.WebApplicationException
            dup
            aload 0 /* this */
            aload 3 /* errMsg */
            invokevirtual io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.getErrorResponse:(Ljava/lang/String;)Ljavax/ws/rs/core/Response;
            invokespecial javax.ws.rs.WebApplicationException.<init>:(Ljavax/ws/rs/core/Response;)V
            athrow
        end local 3 // java.lang.String errMsg
        end local 2 // java.lang.IllegalAccessException e
        15: .line 76
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 2 /* e */
        start local 2 // java.lang.reflect.InvocationTargetException e
        16: .line 77
            aload 2 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            instanceof javax.ws.rs.WebApplicationException
            ifeq 18
        17: .line 78
            aload 2 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            checkcast javax.ws.rs.WebApplicationException
            athrow
        18: .line 81
      StackMap locals: java.lang.reflect.InvocationTargetException
      StackMap stack:
            ldc "Failed to convert %s to %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.val$parameterName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.val$rawType:Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        19: .line 80
            astore 3 /* errMsg */
        start local 3 // java.lang.String errMsg
        20: .line 82
            getstatic io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider.LOGGER:Lorg/slf4j/Logger;
            aload 3 /* errMsg */
            aload 2 /* e */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        21: .line 83
            new javax.ws.rs.WebApplicationException
            dup
            aload 0 /* this */
            aload 3 /* errMsg */
            invokevirtual io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.getErrorResponse:(Ljava/lang/String;)Ljavax/ws/rs/core/Response;
            invokespecial javax.ws.rs.WebApplicationException.<init>:(Ljavax/ws/rs/core/Response;)V
            athrow
        end local 3 // java.lang.String errMsg
        end local 2 // java.lang.reflect.InvocationTargetException e
        22: .line 87
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            aload 0 /* this */
            getfield io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.val$constants:[Ljava/lang/Enum;
            invokestatic io.dropwizard.util.Enums.fromStringFuzzy:(Ljava/lang/String;[Ljava/lang/Enum;)Ljava/lang/Enum;
            astore 2 /* constant */
        start local 2 // java.lang.Object constant
        23: .line 90
            aload 2 /* constant */
            ifnull 25
        24: .line 91
            aload 2 /* constant */
            areturn
        25: .line 94
      StackMap locals: java.lang.Object
      StackMap stack:
            ldc "%s must be one of [%s]"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.val$parameterName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            getstatic io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider.JOINER:Lcom/google/common/base/Joiner;
            aload 0 /* this */
            getfield io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.val$constants:[Ljava/lang/Enum;
            invokevirtual com.google.common.base.Joiner.join:([Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* errMsg */
        start local 3 // java.lang.String errMsg
        26: .line 95
            new javax.ws.rs.WebApplicationException
            dup
            aload 0 /* this */
            aload 3 /* errMsg */
            invokevirtual io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1.getErrorResponse:(Ljava/lang/String;)Ljavax/ws/rs/core/Response;
            invokespecial javax.ws.rs.WebApplicationException.<init>:(Ljavax/ws/rs/core/Response;)V
            athrow
        end local 3 // java.lang.String errMsg
        end local 2 // java.lang.Object constant
        end local 1 // java.lang.String value
        end local 0 // io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lio/dropwizard/jersey/validation/FuzzyEnumParamConverterProvider$1;
            0   27     1     value  Ljava/lang/String;
            4   10     2  constant  Ljava/lang/Object;
            9   10     3    errMsg  Ljava/lang/String;
           11   15     2         e  Ljava/lang/IllegalAccessException;
           13   15     3    errMsg  Ljava/lang/String;
           16   22     2         e  Ljava/lang/reflect/InvocationTargetException;
           20   22     3    errMsg  Ljava/lang/String;
           23   27     2  constant  Ljava/lang/Object;
           26   27     3    errMsg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3     6      10  Class java.lang.IllegalAccessException
           7    10      10  Class java.lang.IllegalAccessException
           3     6      15  Class java.lang.reflect.InvocationTargetException
           7    10      15  Class java.lang.reflect.InvocationTargetException
    Signature: (Ljava/lang/String;)TT;
    RuntimeVisibleAnnotations: 
      javax.annotation.Nullable()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        javax.annotation.Nullable()
    MethodParameters:
       Name  Flags
      value  

  public java.lang.String toString(T);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1 this
        start local 1 // java.lang.Object value
         0: .line 100
            aload 1 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object value
        end local 0 // io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/dropwizard/jersey/validation/FuzzyEnumParamConverterProvider$1;
            0    1     1  value  TT;
    Signature: (TT;)Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  protected javax.ws.rs.core.Response getErrorResponse(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/ws/rs/core/Response;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1 this
        start local 1 // java.lang.String message
         0: .line 105
            sipush 400
            invokestatic javax.ws.rs.core.Response.status:(I)Ljavax/ws/rs/core/Response$ResponseBuilder;
         1: .line 106
            new io.dropwizard.jersey.errors.ErrorMessage
            dup
            sipush 400
            aload 1 /* message */
            invokespecial io.dropwizard.jersey.errors.ErrorMessage.<init>:(ILjava/lang/String;)V
            invokevirtual javax.ws.rs.core.Response$ResponseBuilder.entity:(Ljava/lang/Object;)Ljavax/ws/rs/core/Response$ResponseBuilder;
         2: .line 107
            getstatic javax.ws.rs.core.MediaType.APPLICATION_JSON_TYPE:Ljavax/ws/rs/core/MediaType;
            invokevirtual javax.ws.rs.core.Response$ResponseBuilder.type:(Ljavax/ws/rs/core/MediaType;)Ljavax/ws/rs/core/Response$ResponseBuilder;
         3: .line 108
            invokevirtual javax.ws.rs.core.Response$ResponseBuilder.build:()Ljavax/ws/rs/core/Response;
         4: .line 104
            areturn
        end local 1 // java.lang.String message
        end local 0 // io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lio/dropwizard/jersey/validation/FuzzyEnumParamConverterProvider$1;
            0    5     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  
}
Signature: Ljava/lang/Object;Ljavax/ws/rs/ext/ParamConverter<TT;>;
SourceFile: "FuzzyEnumParamConverterProvider.java"
EnclosingMethod: io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider.getConverter:(Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;)Ljavax/ws/rs/ext/ParamConverter;
NestHost: io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider
InnerClasses:
  io.dropwizard.jersey.validation.FuzzyEnumParamConverterProvider$1
  public abstract ResponseBuilder = javax.ws.rs.core.Response$ResponseBuilder of javax.ws.rs.core.Response