public class io.vertx.ext.mail.impl.MailAttachmentImpl implements io.vertx.ext.mail.MailAttachment
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.mail.impl.MailAttachmentImpl
  super_class: java.lang.Object
{
  private io.vertx.core.streams.ReadStream<io.vertx.core.buffer.Buffer> stream;
    descriptor: Lio/vertx/core/streams/ReadStream;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/streams/ReadStream<Lio/vertx/core/buffer/Buffer;>;

  private int size;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.buffer.Buffer data;
    descriptor: Lio/vertx/core/buffer/Buffer;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String contentType;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String disposition;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String description;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String contentId;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.MultiMap headers;
    descriptor: Lio/vertx/core/MultiMap;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 37
            aload 0 /* this */
            iconst_m1
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.size:I
         2: .line 50
            return
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;

  public void <init>(io.vertx.ext.mail.MailAttachment);
    descriptor: (Lio/vertx/ext/mail/MailAttachment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
        start local 1 // io.vertx.ext.mail.MailAttachment otherMailAttachment
         0: .line 57
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 37
            aload 0 /* this */
            iconst_m1
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.size:I
         2: .line 58
            aload 1 /* otherMailAttachment */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 59
            aload 1 /* otherMailAttachment */
            checkcast io.vertx.ext.mail.impl.MailAttachmentImpl
            astore 2 /* other */
        start local 2 // io.vertx.ext.mail.impl.MailAttachmentImpl other
         4: .line 60
            aload 0 /* this */
            aload 2 /* other */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.data:Lio/vertx/core/buffer/Buffer;
            ifnonnull 5
            aconst_null
            goto 6
      StackMap locals: io.vertx.ext.mail.impl.MailAttachmentImpl io.vertx.ext.mail.MailAttachment io.vertx.ext.mail.impl.MailAttachmentImpl
      StackMap stack: io.vertx.ext.mail.impl.MailAttachmentImpl
         5: aload 2 /* other */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.data:Lio/vertx/core/buffer/Buffer;
            invokeinterface io.vertx.core.buffer.Buffer.copy:()Lio/vertx/core/buffer/Buffer;
      StackMap locals: io.vertx.ext.mail.impl.MailAttachmentImpl io.vertx.ext.mail.MailAttachment io.vertx.ext.mail.impl.MailAttachmentImpl
      StackMap stack: io.vertx.ext.mail.impl.MailAttachmentImpl io.vertx.core.buffer.Buffer
         6: putfield io.vertx.ext.mail.impl.MailAttachmentImpl.data:Lio/vertx/core/buffer/Buffer;
         7: .line 61
            aload 0 /* this */
            aload 2 /* other */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.name:Ljava/lang/String;
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.name:Ljava/lang/String;
         8: .line 62
            aload 0 /* this */
            aload 2 /* other */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.contentType:Ljava/lang/String;
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.contentType:Ljava/lang/String;
         9: .line 63
            aload 0 /* this */
            aload 2 /* other */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.disposition:Ljava/lang/String;
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.disposition:Ljava/lang/String;
        10: .line 64
            aload 0 /* this */
            aload 2 /* other */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.description:Ljava/lang/String;
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.description:Ljava/lang/String;
        11: .line 65
            aload 0 /* this */
            aload 2 /* other */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.description:Ljava/lang/String;
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.description:Ljava/lang/String;
        12: .line 66
            aload 0 /* this */
            aload 2 /* other */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.contentId:Ljava/lang/String;
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.contentId:Ljava/lang/String;
        13: .line 67
            aload 0 /* this */
            aload 2 /* other */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.headers:Lio/vertx/core/MultiMap;
            ifnonnull 14
            aconst_null
            goto 15
      StackMap locals:
      StackMap stack: io.vertx.ext.mail.impl.MailAttachmentImpl
        14: invokestatic io.vertx.core.MultiMap.caseInsensitiveMultiMap:()Lio/vertx/core/MultiMap;
            aload 2 /* other */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.headers:Lio/vertx/core/MultiMap;
            invokeinterface io.vertx.core.MultiMap.addAll:(Lio/vertx/core/MultiMap;)Lio/vertx/core/MultiMap;
      StackMap locals: io.vertx.ext.mail.impl.MailAttachmentImpl io.vertx.ext.mail.MailAttachment io.vertx.ext.mail.impl.MailAttachmentImpl
      StackMap stack: io.vertx.ext.mail.impl.MailAttachmentImpl io.vertx.core.MultiMap
        15: putfield io.vertx.ext.mail.impl.MailAttachmentImpl.headers:Lio/vertx/core/MultiMap;
        16: .line 68
            aload 0 /* this */
            aload 2 /* other */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.size:I
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.size:I
        17: .line 69
            aload 0 /* this */
            aload 2 /* other */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.stream:Lio/vertx/core/streams/ReadStream;
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.stream:Lio/vertx/core/streams/ReadStream;
        18: .line 70
            return
        end local 2 // io.vertx.ext.mail.impl.MailAttachmentImpl other
        end local 1 // io.vertx.ext.mail.MailAttachment otherMailAttachment
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   19     0                 this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
            0   19     1  otherMailAttachment  Lio/vertx/ext/mail/MailAttachment;
            4   19     2                other  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
    MethodParameters:
                     Name  Flags
      otherMailAttachment  

  public void <init>(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
        start local 1 // io.vertx.core.json.JsonObject json
         0: .line 77
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 37
            aload 0 /* this */
            iconst_m1
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.size:I
         2: .line 78
            aload 1 /* json */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 79
            aload 0 /* this */
            aload 1 /* json */
            ldc "data"
            invokevirtual io.vertx.core.json.JsonObject.getBinary:(Ljava/lang/String;)[B
            ifnonnull 4
            aconst_null
            goto 5
      StackMap locals: io.vertx.ext.mail.impl.MailAttachmentImpl io.vertx.core.json.JsonObject
      StackMap stack: io.vertx.ext.mail.impl.MailAttachmentImpl
         4: aload 1 /* json */
            ldc "data"
            invokevirtual io.vertx.core.json.JsonObject.getBinary:(Ljava/lang/String;)[B
            invokestatic io.vertx.core.buffer.Buffer.buffer:([B)Lio/vertx/core/buffer/Buffer;
      StackMap locals: io.vertx.ext.mail.impl.MailAttachmentImpl io.vertx.core.json.JsonObject
      StackMap stack: io.vertx.ext.mail.impl.MailAttachmentImpl io.vertx.core.buffer.Buffer
         5: putfield io.vertx.ext.mail.impl.MailAttachmentImpl.data:Lio/vertx/core/buffer/Buffer;
         6: .line 80
            aload 0 /* this */
            aload 1 /* json */
            ldc "name"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.name:Ljava/lang/String;
         7: .line 81
            aload 0 /* this */
            aload 1 /* json */
            ldc "contentType"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.contentType:Ljava/lang/String;
         8: .line 82
            aload 0 /* this */
            aload 1 /* json */
            ldc "disposition"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.disposition:Ljava/lang/String;
         9: .line 83
            aload 0 /* this */
            aload 1 /* json */
            ldc "description"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.description:Ljava/lang/String;
        10: .line 84
            aload 0 /* this */
            aload 1 /* json */
            ldc "contentId"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.contentId:Ljava/lang/String;
        11: .line 85
            aload 1 /* json */
            ldc "headers"
            invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            astore 2 /* headers */
        start local 2 // io.vertx.core.json.JsonObject headers
        12: .line 86
            aload 2 /* headers */
            ifnull 14
        13: .line 87
            aload 0 /* this */
            aload 2 /* headers */
            invokestatic io.vertx.ext.mail.impl.Utils.jsonToMultiMap:(Lio/vertx/core/json/JsonObject;)Lio/vertx/core/MultiMap;
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.headers:Lio/vertx/core/MultiMap;
        14: .line 89
      StackMap locals: io.vertx.core.json.JsonObject
      StackMap stack:
            aload 0 /* this */
            aload 1 /* json */
            ldc "size"
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual io.vertx.core.json.JsonObject.getInteger:(Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.size:I
        15: .line 90
            return
        end local 2 // io.vertx.core.json.JsonObject headers
        end local 1 // io.vertx.core.json.JsonObject json
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
            0   16     1     json  Lio/vertx/core/json/JsonObject;
           12   16     2  headers  Lio/vertx/core/json/JsonObject;
    MethodParameters:
      Name  Flags
      json  final

  public io.vertx.core.streams.ReadStream<io.vertx.core.buffer.Buffer> getStream();
    descriptor: ()Lio/vertx/core/streams/ReadStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
         0: .line 94
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.stream:Lio/vertx/core/streams/ReadStream;
            areturn
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
    Signature: ()Lio/vertx/core/streams/ReadStream<Lio/vertx/core/buffer/Buffer;>;

  public io.vertx.ext.mail.MailAttachment setStream(io.vertx.core.streams.ReadStream<io.vertx.core.buffer.Buffer>);
    descriptor: (Lio/vertx/core/streams/ReadStream;)Lio/vertx/ext/mail/MailAttachment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
        start local 1 // io.vertx.core.streams.ReadStream stream
         0: .line 99
            aload 0 /* this */
            aload 1 /* stream */
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.stream:Lio/vertx/core/streams/ReadStream;
         1: .line 100
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.streams.ReadStream stream
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
            0    2     1  stream  Lio/vertx/core/streams/ReadStream<Lio/vertx/core/buffer/Buffer;>;
    Signature: (Lio/vertx/core/streams/ReadStream<Lio/vertx/core/buffer/Buffer;>;)Lio/vertx/ext/mail/MailAttachment;
    MethodParameters:
        Name  Flags
      stream  

  public int getSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
         0: .line 105
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.size:I
            ireturn
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;

  public io.vertx.ext.mail.MailAttachment setSize(int);
    descriptor: (I)Lio/vertx/ext/mail/MailAttachment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
        start local 1 // int size
         0: .line 110
            iload 1 /* size */
            ifge 2
         1: .line 111
            new java.lang.IllegalArgumentException
            dup
            ldc "Size of the Attachment cannot be smaller than 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.size:I
         3: .line 114
            aload 0 /* this */
            areturn
        end local 1 // int size
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
            0    4     1  size  I
    MethodParameters:
      Name  Flags
      size  

  public io.vertx.core.buffer.Buffer getData();
    descriptor: ()Lio/vertx/core/buffer/Buffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
         0: .line 119
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.data:Lio/vertx/core/buffer/Buffer;
            areturn
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;

  public io.vertx.ext.mail.MailAttachment setData(io.vertx.core.buffer.Buffer);
    descriptor: (Lio/vertx/core/buffer/Buffer;)Lio/vertx/ext/mail/MailAttachment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
        start local 1 // io.vertx.core.buffer.Buffer data
         0: .line 124
            aload 0 /* this */
            aload 1 /* data */
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.data:Lio/vertx/core/buffer/Buffer;
         1: .line 125
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.buffer.Buffer data
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
            0    2     1  data  Lio/vertx/core/buffer/Buffer;
    MethodParameters:
      Name  Flags
      data  final

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
         0: .line 130
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.name:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;

  public io.vertx.ext.mail.MailAttachment setName(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/mail/MailAttachment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
        start local 1 // java.lang.String name
         0: .line 135
            aload 0 /* this */
            aload 1 /* name */
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.name:Ljava/lang/String;
         1: .line 136
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String name
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  public java.lang.String getContentType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
         0: .line 141
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.contentType:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;

  public io.vertx.ext.mail.MailAttachment setContentType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/mail/MailAttachment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
        start local 1 // java.lang.String contentType
         0: .line 146
            aload 0 /* this */
            aload 1 /* contentType */
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.contentType:Ljava/lang/String;
         1: .line 147
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String contentType
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
            0    2     1  contentType  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      contentType  final

  public java.lang.String getDisposition();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
         0: .line 152
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.disposition:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;

  public io.vertx.ext.mail.MailAttachment setDisposition(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/mail/MailAttachment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
        start local 1 // java.lang.String disposition
         0: .line 157
            aload 0 /* this */
            aload 1 /* disposition */
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.disposition:Ljava/lang/String;
         1: .line 158
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String disposition
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
            0    2     1  disposition  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      disposition  final

  public java.lang.String getDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
         0: .line 163
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.description:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;

  public io.vertx.ext.mail.MailAttachment setDescription(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/mail/MailAttachment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
        start local 1 // java.lang.String description
         0: .line 168
            aload 0 /* this */
            aload 1 /* description */
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.description:Ljava/lang/String;
         1: .line 169
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String description
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
            0    2     1  description  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      description  final

  public java.lang.String getContentId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
         0: .line 174
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.contentId:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;

  public io.vertx.ext.mail.MailAttachment setContentId(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/mail/MailAttachment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
        start local 1 // java.lang.String contentId
         0: .line 179
            aload 0 /* this */
            aload 1 /* contentId */
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.contentId:Ljava/lang/String;
         1: .line 180
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String contentId
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
            0    2     1  contentId  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      contentId  final

  public io.vertx.ext.mail.MailAttachment addHeader(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lio/vertx/ext/mail/MailAttachment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String value
         0: .line 185
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.headers:Lio/vertx/core/MultiMap;
            ifnonnull 2
         1: .line 186
            aload 0 /* this */
            invokestatic io.vertx.core.MultiMap.caseInsensitiveMultiMap:()Lio/vertx/core/MultiMap;
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.headers:Lio/vertx/core/MultiMap;
         2: .line 188
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            ldc "no null key accepted"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 189
            aload 2 /* value */
            ldc "no null value accepted"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         4: .line 190
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.headers:Lio/vertx/core/MultiMap;
            aload 1 /* key */
            aload 2 /* value */
            invokeinterface io.vertx.core.MultiMap.add:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/MultiMap;
            pop
         5: .line 191
            aload 0 /* this */
            areturn
        end local 2 // java.lang.String value
        end local 1 // java.lang.String key
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
            0    6     1    key  Ljava/lang/String;
            0    6     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      key    
      value  

  public io.vertx.core.MultiMap getHeaders();
    descriptor: ()Lio/vertx/core/MultiMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
         0: .line 196
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.headers:Lio/vertx/core/MultiMap;
            areturn
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;

  public io.vertx.ext.mail.MailAttachment setHeaders(io.vertx.core.MultiMap);
    descriptor: (Lio/vertx/core/MultiMap;)Lio/vertx/ext/mail/MailAttachment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
        start local 1 // io.vertx.core.MultiMap headers
         0: .line 201
            aload 0 /* this */
            aload 1 /* headers */
            putfield io.vertx.ext.mail.impl.MailAttachmentImpl.headers:Lio/vertx/core/MultiMap;
         1: .line 202
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.MultiMap headers
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
            0    2     1  headers  Lio/vertx/core/MultiMap;
    MethodParameters:
         Name  Flags
      headers  final

  public io.vertx.core.json.JsonObject toJson();
    descriptor: ()Lio/vertx/core/json/JsonObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
         0: .line 207
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            astore 1 /* json */
        start local 1 // io.vertx.core.json.JsonObject json
         1: .line 208
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.data:Lio/vertx/core/buffer/Buffer;
            ifnull 3
         2: .line 209
            aload 1 /* json */
            ldc "data"
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.data:Lio/vertx/core/buffer/Buffer;
            invokeinterface io.vertx.core.buffer.Buffer.getBytes:()[B
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
         3: .line 211
      StackMap locals: io.vertx.core.json.JsonObject
      StackMap stack:
            aload 1 /* json */
            ldc "name"
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.name:Ljava/lang/String;
            invokestatic io.vertx.ext.mail.impl.Utils.putIfNotNull:(Lio/vertx/core/json/JsonObject;Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 212
            aload 1 /* json */
            ldc "contentType"
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.contentType:Ljava/lang/String;
            invokestatic io.vertx.ext.mail.impl.Utils.putIfNotNull:(Lio/vertx/core/json/JsonObject;Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 213
            aload 1 /* json */
            ldc "disposition"
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.disposition:Ljava/lang/String;
            invokestatic io.vertx.ext.mail.impl.Utils.putIfNotNull:(Lio/vertx/core/json/JsonObject;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 214
            aload 1 /* json */
            ldc "description"
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.description:Ljava/lang/String;
            invokestatic io.vertx.ext.mail.impl.Utils.putIfNotNull:(Lio/vertx/core/json/JsonObject;Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 215
            aload 1 /* json */
            ldc "contentId"
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.contentId:Ljava/lang/String;
            invokestatic io.vertx.ext.mail.impl.Utils.putIfNotNull:(Lio/vertx/core/json/JsonObject;Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 216
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.headers:Lio/vertx/core/MultiMap;
            ifnull 10
         9: .line 217
            aload 1 /* json */
            ldc "headers"
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.headers:Lio/vertx/core/MultiMap;
            invokestatic io.vertx.ext.mail.impl.Utils.multiMapToJson:(Lio/vertx/core/MultiMap;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
        10: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.size:I
            iflt 12
        11: .line 220
            aload 1 /* json */
            ldc "size"
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.size:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
        12: .line 222
      StackMap locals:
      StackMap stack:
            aload 1 /* json */
            areturn
        end local 1 // io.vertx.core.json.JsonObject json
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
            1   13     1  json  Lio/vertx/core/json/JsonObject;

  private java.util.List<java.lang.Object> getList();
    descriptor: ()Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
         0: .line 226
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.data:Lio/vertx/core/buffer/Buffer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.name:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.disposition:Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.description:Ljava/lang/String;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.contentId:Ljava/lang/String;
            aastore
            dup
            iconst_5
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.headers:Lio/vertx/core/MultiMap;
            aastore
            dup
            bipush 6
            aload 0 /* this */
            getfield io.vertx.ext.mail.impl.MailAttachmentImpl.size:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
    Signature: ()Ljava/util/List<Ljava/lang/Object;>;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
        start local 1 // java.lang.Object o
         0: .line 231
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 232
            iconst_1
            ireturn
         2: .line 234
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof io.vertx.ext.mail.impl.MailAttachmentImpl
            ifne 4
         3: .line 235
            iconst_0
            ireturn
         4: .line 237
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast io.vertx.ext.mail.impl.MailAttachmentImpl
            astore 2 /* attachment */
        start local 2 // io.vertx.ext.mail.impl.MailAttachmentImpl attachment
         5: .line 238
            aload 0 /* this */
            invokevirtual io.vertx.ext.mail.impl.MailAttachmentImpl.getList:()Ljava/util/List;
            aload 2 /* attachment */
            invokevirtual io.vertx.ext.mail.impl.MailAttachmentImpl.getList:()Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // io.vertx.ext.mail.impl.MailAttachmentImpl attachment
        end local 1 // java.lang.Object o
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
            0    6     1           o  Ljava/lang/Object;
            5    6     2  attachment  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
    MethodParameters:
      Name  Flags
      o     final

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
         0: .line 243
            aload 0 /* this */
            invokevirtual io.vertx.ext.mail.impl.MailAttachmentImpl.getList:()Ljava/util/List;
            invokeinterface java.util.List.hashCode:()I
            ireturn
        end local 0 // io.vertx.ext.mail.impl.MailAttachmentImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/mail/impl/MailAttachmentImpl;
}
SourceFile: "MailAttachmentImpl.java"