public class io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor implements javax.validation.valueextraction.ValueExtractor<com.google.common.base.Optional<?>>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor
  super_class: java.lang.Object
{
  public static final org.hibernate.validator.internal.engine.valueextraction.ValueExtractorDescriptor DESCRIPTOR;
    descriptor: Lorg/hibernate/validator/internal/engine/valueextraction/ValueExtractorDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 17
            new org.hibernate.validator.internal.engine.valueextraction.ValueExtractorDescriptor
            dup
            new io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor
            dup
            invokespecial io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor.<init>:()V
            invokespecial org.hibernate.validator.internal.engine.valueextraction.ValueExtractorDescriptor.<init>:(Ljavax/validation/valueextraction/ValueExtractor;)V
            putstatic io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor.DESCRIPTOR:Lorg/hibernate/validator/internal/engine/valueextraction/ValueExtractorDescriptor;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor this
         0: .line 19
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 20
            return
        end local 0 // io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/dropwizard/validation/valuehandling/GuavaOptionalValueExtractor;

  public void extractValues(com.google.common.base.Optional<?>, javax.validation.valueextraction.ValueExtractor$ValueReceiver);
    descriptor: (Lcom/google/common/base/Optional;Ljavax/validation/valueextraction/ValueExtractor$ValueReceiver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor this
        start local 1 // com.google.common.base.Optional originalValue
        start local 2 // javax.validation.valueextraction.ValueExtractor$ValueReceiver receiver
         0: .line 24
            aload 2 /* receiver */
            aconst_null
            aload 1 /* originalValue */
            invokevirtual com.google.common.base.Optional.orNull:()Ljava/lang/Object;
            invokeinterface javax.validation.valueextraction.ValueExtractor$ValueReceiver.value:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 25
            return
        end local 2 // javax.validation.valueextraction.ValueExtractor$ValueReceiver receiver
        end local 1 // com.google.common.base.Optional originalValue
        end local 0 // io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/dropwizard/validation/valuehandling/GuavaOptionalValueExtractor;
            0    2     1  originalValue  Lcom/google/common/base/Optional<*>;
            0    2     2       receiver  Ljavax/validation/valueextraction/ValueExtractor$ValueReceiver;
    Signature: (Lcom/google/common/base/Optional<*>;Ljavax/validation/valueextraction/ValueExtractor$ValueReceiver;)V
    MethodParameters:
               Name  Flags
      originalValue  
      receiver       

  public void extractValues(java.lang.Object, javax.validation.valueextraction.ValueExtractor$ValueReceiver);
    descriptor: (Ljava/lang/Object;Ljavax/validation/valueextraction/ValueExtractor$ValueReceiver;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast com.google.common.base.Optional
            aload 2
            invokevirtual io.dropwizard.validation.valuehandling.GuavaOptionalValueExtractor.extractValues:(Lcom/google/common/base/Optional;Ljavax/validation/valueextraction/ValueExtractor$ValueReceiver;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljavax/validation/valueextraction/ValueExtractor<Lcom/google/common/base/Optional<*>;>;
SourceFile: "GuavaOptionalValueExtractor.java"
InnerClasses:
  public abstract ValueReceiver = javax.validation.valueextraction.ValueExtractor$ValueReceiver of javax.validation.valueextraction.ValueExtractor
    RuntimeVisibleTypeAnnotations: 
      CLASS_EXTENDS, location=[TYPE_ARGUMENT(0), TYPE_ARGUMENT(0)]
        javax.validation.valueextraction.ExtractedValue()