public class io.vertx.reactivex.impl.MaybeUnmarshaller<T, B> implements io.reactivex.MaybeTransformer<B, T>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.reactivex.impl.MaybeUnmarshaller
  super_class: java.lang.Object
{
  private final java.util.function.Function<B, io.vertx.core.buffer.Buffer> unwrap;
    descriptor: Ljava/util/function/Function;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Function<TB;Lio/vertx/core/buffer/Buffer;>;

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

  private final com.fasterxml.jackson.core.type.TypeReference<T> mappedTypeRef;
    descriptor: Lcom/fasterxml/jackson/core/type/TypeReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/fasterxml/jackson/core/type/TypeReference<TT;>;

  private final com.fasterxml.jackson.core.ObjectCodec mapper;
    descriptor: Lcom/fasterxml/jackson/core/ObjectCodec;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.util.function.Function<B, io.vertx.core.buffer.Buffer>, java.lang.Class<T>);
    descriptor: (Ljava/util/function/Function;Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.vertx.reactivex.impl.MaybeUnmarshaller this
        start local 1 // java.util.function.Function unwrap
        start local 2 // java.lang.Class mappedType
         0: .line 28
            aload 0 /* this */
            aload 1 /* unwrap */
            aload 2 /* mappedType */
            aconst_null
            aconst_null
            invokespecial io.vertx.reactivex.impl.MaybeUnmarshaller.<init>:(Ljava/util/function/Function;Ljava/lang/Class;Lcom/fasterxml/jackson/core/type/TypeReference;Lcom/fasterxml/jackson/core/ObjectCodec;)V
         1: .line 29
            return
        end local 2 // java.lang.Class mappedType
        end local 1 // java.util.function.Function unwrap
        end local 0 // io.vertx.reactivex.impl.MaybeUnmarshaller this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/vertx/reactivex/impl/MaybeUnmarshaller<TT;TB;>;
            0    2     1      unwrap  Ljava/util/function/Function<TB;Lio/vertx/core/buffer/Buffer;>;
            0    2     2  mappedType  Ljava/lang/Class<TT;>;
    Signature: (Ljava/util/function/Function<TB;Lio/vertx/core/buffer/Buffer;>;Ljava/lang/Class<TT;>;)V
    MethodParameters:
            Name  Flags
      unwrap      
      mappedType  

  public void <init>(java.util.function.Function<B, io.vertx.core.buffer.Buffer>, com.fasterxml.jackson.core.type.TypeReference<T>);
    descriptor: (Ljava/util/function/Function;Lcom/fasterxml/jackson/core/type/TypeReference;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.vertx.reactivex.impl.MaybeUnmarshaller this
        start local 1 // java.util.function.Function unwrap
        start local 2 // com.fasterxml.jackson.core.type.TypeReference mappedTypeRef
         0: .line 32
            aload 0 /* this */
            aload 1 /* unwrap */
            aconst_null
            aload 2 /* mappedTypeRef */
            aconst_null
            invokespecial io.vertx.reactivex.impl.MaybeUnmarshaller.<init>:(Ljava/util/function/Function;Ljava/lang/Class;Lcom/fasterxml/jackson/core/type/TypeReference;Lcom/fasterxml/jackson/core/ObjectCodec;)V
         1: .line 33
            return
        end local 2 // com.fasterxml.jackson.core.type.TypeReference mappedTypeRef
        end local 1 // java.util.function.Function unwrap
        end local 0 // io.vertx.reactivex.impl.MaybeUnmarshaller this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/reactivex/impl/MaybeUnmarshaller<TT;TB;>;
            0    2     1         unwrap  Ljava/util/function/Function<TB;Lio/vertx/core/buffer/Buffer;>;
            0    2     2  mappedTypeRef  Lcom/fasterxml/jackson/core/type/TypeReference<TT;>;
    Signature: (Ljava/util/function/Function<TB;Lio/vertx/core/buffer/Buffer;>;Lcom/fasterxml/jackson/core/type/TypeReference<TT;>;)V
    MethodParameters:
               Name  Flags
      unwrap         
      mappedTypeRef  

  public void <init>(java.util.function.Function<B, io.vertx.core.buffer.Buffer>, java.lang.Class<T>, com.fasterxml.jackson.core.ObjectCodec);
    descriptor: (Ljava/util/function/Function;Ljava/lang/Class;Lcom/fasterxml/jackson/core/ObjectCodec;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.reactivex.impl.MaybeUnmarshaller this
        start local 1 // java.util.function.Function unwrap
        start local 2 // java.lang.Class mappedType
        start local 3 // com.fasterxml.jackson.core.ObjectCodec mapper
         0: .line 36
            aload 0 /* this */
            aload 1 /* unwrap */
            aload 2 /* mappedType */
            aconst_null
            aload 3 /* mapper */
            invokespecial io.vertx.reactivex.impl.MaybeUnmarshaller.<init>:(Ljava/util/function/Function;Ljava/lang/Class;Lcom/fasterxml/jackson/core/type/TypeReference;Lcom/fasterxml/jackson/core/ObjectCodec;)V
         1: .line 37
            return
        end local 3 // com.fasterxml.jackson.core.ObjectCodec mapper
        end local 2 // java.lang.Class mappedType
        end local 1 // java.util.function.Function unwrap
        end local 0 // io.vertx.reactivex.impl.MaybeUnmarshaller this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/vertx/reactivex/impl/MaybeUnmarshaller<TT;TB;>;
            0    2     1      unwrap  Ljava/util/function/Function<TB;Lio/vertx/core/buffer/Buffer;>;
            0    2     2  mappedType  Ljava/lang/Class<TT;>;
            0    2     3      mapper  Lcom/fasterxml/jackson/core/ObjectCodec;
    Signature: (Ljava/util/function/Function<TB;Lio/vertx/core/buffer/Buffer;>;Ljava/lang/Class<TT;>;Lcom/fasterxml/jackson/core/ObjectCodec;)V
    MethodParameters:
            Name  Flags
      unwrap      
      mappedType  
      mapper      

  public void <init>(java.util.function.Function<B, io.vertx.core.buffer.Buffer>, com.fasterxml.jackson.core.type.TypeReference<T>, com.fasterxml.jackson.core.ObjectCodec);
    descriptor: (Ljava/util/function/Function;Lcom/fasterxml/jackson/core/type/TypeReference;Lcom/fasterxml/jackson/core/ObjectCodec;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.reactivex.impl.MaybeUnmarshaller this
        start local 1 // java.util.function.Function unwrap
        start local 2 // com.fasterxml.jackson.core.type.TypeReference mappedTypeRef
        start local 3 // com.fasterxml.jackson.core.ObjectCodec mapper
         0: .line 40
            aload 0 /* this */
            aload 1 /* unwrap */
            aconst_null
            aload 2 /* mappedTypeRef */
            aload 3 /* mapper */
            invokespecial io.vertx.reactivex.impl.MaybeUnmarshaller.<init>:(Ljava/util/function/Function;Ljava/lang/Class;Lcom/fasterxml/jackson/core/type/TypeReference;Lcom/fasterxml/jackson/core/ObjectCodec;)V
         1: .line 41
            return
        end local 3 // com.fasterxml.jackson.core.ObjectCodec mapper
        end local 2 // com.fasterxml.jackson.core.type.TypeReference mappedTypeRef
        end local 1 // java.util.function.Function unwrap
        end local 0 // io.vertx.reactivex.impl.MaybeUnmarshaller this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/reactivex/impl/MaybeUnmarshaller<TT;TB;>;
            0    2     1         unwrap  Ljava/util/function/Function<TB;Lio/vertx/core/buffer/Buffer;>;
            0    2     2  mappedTypeRef  Lcom/fasterxml/jackson/core/type/TypeReference<TT;>;
            0    2     3         mapper  Lcom/fasterxml/jackson/core/ObjectCodec;
    Signature: (Ljava/util/function/Function<TB;Lio/vertx/core/buffer/Buffer;>;Lcom/fasterxml/jackson/core/type/TypeReference<TT;>;Lcom/fasterxml/jackson/core/ObjectCodec;)V
    MethodParameters:
               Name  Flags
      unwrap         
      mappedTypeRef  
      mapper         

  private void <init>(java.util.function.Function<B, io.vertx.core.buffer.Buffer>, java.lang.Class<T>, com.fasterxml.jackson.core.type.TypeReference<T>, com.fasterxml.jackson.core.ObjectCodec);
    descriptor: (Ljava/util/function/Function;Ljava/lang/Class;Lcom/fasterxml/jackson/core/type/TypeReference;Lcom/fasterxml/jackson/core/ObjectCodec;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.reactivex.impl.MaybeUnmarshaller this
        start local 1 // java.util.function.Function unwrap
        start local 2 // java.lang.Class mappedType
        start local 3 // com.fasterxml.jackson.core.type.TypeReference mappedTypeRef
        start local 4 // com.fasterxml.jackson.core.ObjectCodec mapper
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 44
            aload 0 /* this */
            aload 1 /* unwrap */
            putfield io.vertx.reactivex.impl.MaybeUnmarshaller.unwrap:Ljava/util/function/Function;
         2: .line 45
            aload 0 /* this */
            aload 2 /* mappedType */
            putfield io.vertx.reactivex.impl.MaybeUnmarshaller.mappedType:Ljava/lang/Class;
         3: .line 46
            aload 0 /* this */
            aload 3 /* mappedTypeRef */
            putfield io.vertx.reactivex.impl.MaybeUnmarshaller.mappedTypeRef:Lcom/fasterxml/jackson/core/type/TypeReference;
         4: .line 47
            aload 0 /* this */
            aload 4 /* mapper */
            putfield io.vertx.reactivex.impl.MaybeUnmarshaller.mapper:Lcom/fasterxml/jackson/core/ObjectCodec;
         5: .line 48
            return
        end local 4 // com.fasterxml.jackson.core.ObjectCodec mapper
        end local 3 // com.fasterxml.jackson.core.type.TypeReference mappedTypeRef
        end local 2 // java.lang.Class mappedType
        end local 1 // java.util.function.Function unwrap
        end local 0 // io.vertx.reactivex.impl.MaybeUnmarshaller this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lio/vertx/reactivex/impl/MaybeUnmarshaller<TT;TB;>;
            0    6     1         unwrap  Ljava/util/function/Function<TB;Lio/vertx/core/buffer/Buffer;>;
            0    6     2     mappedType  Ljava/lang/Class<TT;>;
            0    6     3  mappedTypeRef  Lcom/fasterxml/jackson/core/type/TypeReference<TT;>;
            0    6     4         mapper  Lcom/fasterxml/jackson/core/ObjectCodec;
    Signature: (Ljava/util/function/Function<TB;Lio/vertx/core/buffer/Buffer;>;Ljava/lang/Class<TT;>;Lcom/fasterxml/jackson/core/type/TypeReference<TT;>;Lcom/fasterxml/jackson/core/ObjectCodec;)V
    MethodParameters:
               Name  Flags
      unwrap         
      mappedType     
      mappedTypeRef  
      mapper         

  public io.reactivex.MaybeSource<T> apply(io.reactivex.Maybe<B>);
    descriptor: (Lio/reactivex/Maybe;)Lio/reactivex/MaybeSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // io.vertx.reactivex.impl.MaybeUnmarshaller this
        start local 1 // io.reactivex.Maybe upstream
         0: .line 52
            aload 1 /* upstream */
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.MaybeUnmarshaller.unwrap:Ljava/util/function/Function;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic apply(Ljava/util/function/Function;)Lio/reactivex/functions/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/function/Function.apply(Ljava/lang/Object;)Ljava/lang/Object; (9 itf)
                  (Ljava/lang/Object;)Lio/vertx/core/buffer/Buffer;
            invokevirtual io.reactivex.Maybe.map:(Lio/reactivex/functions/Function;)Lio/reactivex/Maybe;
            astore 2 /* unwrapped */
        start local 2 // io.reactivex.Maybe unwrapped
         1: .line 53
            aload 2 /* unwrapped */
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/reactivex/impl/MaybeUnmarshaller;)Lio/reactivex/functions/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/reactivex/impl/MaybeUnmarshaller.lambda$1(Lio/vertx/core/buffer/Buffer;)Lio/reactivex/MaybeSource; (7)
                  (Lio/vertx/core/buffer/Buffer;)Lio/reactivex/MaybeSource;
            invokevirtual io.reactivex.Maybe.concatMap:(Lio/reactivex/functions/Function;)Lio/reactivex/Maybe;
            astore 4 /* unmarshalled */
        start local 4 // io.reactivex.Maybe unmarshalled
         2: .line 72
            aload 4 /* unmarshalled */
            areturn
        end local 4 // io.reactivex.Maybe unmarshalled
        end local 2 // io.reactivex.Maybe unwrapped
        end local 1 // io.reactivex.Maybe upstream
        end local 0 // io.vertx.reactivex.impl.MaybeUnmarshaller this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lio/vertx/reactivex/impl/MaybeUnmarshaller<TT;TB;>;
            0    3     1      upstream  Lio/reactivex/Maybe<TB;>;
            1    3     2     unwrapped  Lio/reactivex/Maybe<Lio/vertx/core/buffer/Buffer;>;
            2    3     4  unmarshalled  Lio/reactivex/Maybe<TT;>;
    Signature: (Lio/reactivex/Maybe<TB;>;)Lio/reactivex/MaybeSource<TT;>;
    RuntimeInvisibleParameterAnnotations: 
      0:
        io.reactivex.annotations.NonNull()
    MethodParameters:
          Name  Flags
      upstream  

  private io.reactivex.MaybeSource lambda$1(io.vertx.core.buffer.Buffer);
    descriptor: (Lio/vertx/core/buffer/Buffer;)Lio/reactivex/MaybeSource;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.vertx.reactivex.impl.MaybeUnmarshaller this
        start local 1 // io.vertx.core.buffer.Buffer buffer
         0: .line 54
            aload 1 /* buffer */
            invokeinterface io.vertx.core.buffer.Buffer.length:()I
            ifle 12
         1: .line 57
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.MaybeUnmarshaller.mapper:Lcom/fasterxml/jackson/core/ObjectCodec;
            ifnull 7
         2: .line 58
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.MaybeUnmarshaller.mapper:Lcom/fasterxml/jackson/core/ObjectCodec;
            invokevirtual com.fasterxml.jackson.core.ObjectCodec.getFactory:()Lcom/fasterxml/jackson/core/JsonFactory;
            aload 1 /* buffer */
            invokeinterface io.vertx.core.buffer.Buffer.getBytes:()[B
            invokevirtual com.fasterxml.jackson.core.JsonFactory.createParser:([B)Lcom/fasterxml/jackson/core/JsonParser;
            astore 3 /* parser */
        start local 3 // com.fasterxml.jackson.core.JsonParser parser
         3: .line 59
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.MaybeUnmarshaller.mappedType:Ljava/lang/Class;
            invokestatic java.util.Objects.nonNull:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.MaybeUnmarshaller.mapper:Lcom/fasterxml/jackson/core/ObjectCodec;
            aload 3 /* parser */
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.MaybeUnmarshaller.mappedType:Ljava/lang/Class;
            invokevirtual com.fasterxml.jackson.core.ObjectCodec.readValue:(Lcom/fasterxml/jackson/core/JsonParser;Ljava/lang/Class;)Ljava/lang/Object;
            goto 5
         4: .line 60
      StackMap locals: io.vertx.reactivex.impl.MaybeUnmarshaller io.vertx.core.buffer.Buffer top com.fasterxml.jackson.core.JsonParser
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.MaybeUnmarshaller.mapper:Lcom/fasterxml/jackson/core/ObjectCodec;
            aload 3 /* parser */
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.MaybeUnmarshaller.mappedTypeRef:Lcom/fasterxml/jackson/core/type/TypeReference;
            invokevirtual com.fasterxml.jackson.core.ObjectCodec.readValue:(Lcom/fasterxml/jackson/core/JsonParser;Lcom/fasterxml/jackson/core/type/TypeReference;)Ljava/lang/Object;
         5: .line 59
      StackMap locals:
      StackMap stack: java.lang.Object
            astore 2 /* obj */
        end local 3 // com.fasterxml.jackson.core.JsonParser parser
        start local 2 // java.lang.Object obj
         6: .line 61
            goto 8
        end local 2 // java.lang.Object obj
         7: .line 62
      StackMap locals: io.vertx.reactivex.impl.MaybeUnmarshaller io.vertx.core.buffer.Buffer
      StackMap stack:
            aload 1 /* buffer */
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.MaybeUnmarshaller.mappedType:Ljava/lang/Class;
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.MaybeUnmarshaller.mappedTypeRef:Lcom/fasterxml/jackson/core/type/TypeReference;
            invokestatic io.vertx.reactivex.impl.ObservableUnmarshaller.getT:(Lio/vertx/core/buffer/Buffer;Ljava/lang/Class;Lcom/fasterxml/jackson/core/type/TypeReference;)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
         8: .line 64
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* obj */
            invokestatic io.reactivex.Maybe.just:(Ljava/lang/Object;)Lio/reactivex/Maybe;
         9: areturn
        end local 2 // java.lang.Object obj
        10: .line 65
      StackMap locals: io.vertx.reactivex.impl.MaybeUnmarshaller io.vertx.core.buffer.Buffer
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        11: .line 66
            aload 2 /* e */
            invokestatic io.reactivex.Maybe.error:(Ljava/lang/Throwable;)Lio/reactivex/Maybe;
            areturn
        end local 2 // java.lang.Exception e
        12: .line 69
      StackMap locals:
      StackMap stack:
            invokestatic io.reactivex.Maybe.empty:()Lio/reactivex/Maybe;
            areturn
        end local 1 // io.vertx.core.buffer.Buffer buffer
        end local 0 // io.vertx.reactivex.impl.MaybeUnmarshaller this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lio/vertx/reactivex/impl/MaybeUnmarshaller<TT;TB;>;
            0   13     1  buffer  Lio/vertx/core/buffer/Buffer;
            6    7     2     obj  TT;
            8   10     2     obj  TT;
            3    6     3  parser  Lcom/fasterxml/jackson/core/JsonParser;
           11   12     2       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     9      10  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
}
Signature: <T:Ljava/lang/Object;B:Ljava/lang/Object;>Ljava/lang/Object;Lio/reactivex/MaybeTransformer<TB;TT;>;
SourceFile: "MaybeUnmarshaller.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles