public abstract class javax.mail.Multipart
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javax.mail.Multipart
  super_class: java.lang.Object
{
  protected java.util.Vector<javax.mail.BodyPart> parts;
    descriptor: Ljava/util/Vector;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Vector<Ljavax/mail/BodyPart;>;

  protected java.lang.String contentType;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected javax.mail.Part parent;
    descriptor: Ljavax/mail/Part;
    flags: (0x0004) ACC_PROTECTED

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.mail.Multipart this
         0: .line 90
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield javax.mail.Multipart.parts:Ljava/util/Vector;
         2: .line 78
            aload 0 /* this */
            ldc "multipart/mixed"
            putfield javax.mail.Multipart.contentType:Ljava/lang/String;
         3: .line 90
            return
        end local 0 // javax.mail.Multipart this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/mail/Multipart;

  protected synchronized void setMultipartDataSource(javax.mail.MultipartDataSource);
    descriptor: (Ljavax/mail/MultipartDataSource;)V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // javax.mail.Multipart this
        start local 1 // javax.mail.MultipartDataSource mp
         0: .line 110
            aload 0 /* this */
            aload 1 /* mp */
            invokeinterface javax.mail.MultipartDataSource.getContentType:()Ljava/lang/String;
            putfield javax.mail.Multipart.contentType:Ljava/lang/String;
         1: .line 112
            aload 1 /* mp */
            invokeinterface javax.mail.MultipartDataSource.getCount:()I
            istore 2 /* count */
        start local 2 // int count
         2: .line 113
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 114
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* mp */
            iload 3 /* i */
            invokeinterface javax.mail.MultipartDataSource.getBodyPart:(I)Ljavax/mail/BodyPart;
            invokevirtual javax.mail.Multipart.addBodyPart:(Ljavax/mail/BodyPart;)V
         5: .line 113
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 4
        end local 3 // int i
         7: .line 115
            return
        end local 2 // int count
        end local 1 // javax.mail.MultipartDataSource mp
        end local 0 // javax.mail.Multipart this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Ljavax/mail/Multipart;
            0    8     1     mp  Ljavax/mail/MultipartDataSource;
            2    8     2  count  I
            3    7     3      i  I
    Exceptions:
      throws javax.mail.MessagingException
    MethodParameters:
      Name  Flags
      mp    

  public synchronized java.lang.String getContentType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.mail.Multipart this
         0: .line 127
            aload 0 /* this */
            getfield javax.mail.Multipart.contentType:Ljava/lang/String;
            areturn
        end local 0 // javax.mail.Multipart this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/mail/Multipart;

  public synchronized int getCount();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.mail.Multipart this
         0: .line 138
            aload 0 /* this */
            getfield javax.mail.Multipart.parts:Ljava/util/Vector;
            ifnonnull 2
         1: .line 139
            iconst_0
            ireturn
         2: .line 141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.mail.Multipart.parts:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            ireturn
        end local 0 // javax.mail.Multipart this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/mail/Multipart;
    Exceptions:
      throws javax.mail.MessagingException

  public synchronized javax.mail.BodyPart getBodyPart(int);
    descriptor: (I)Ljavax/mail/BodyPart;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.mail.Multipart this
        start local 1 // int index
         0: .line 155
            aload 0 /* this */
            getfield javax.mail.Multipart.parts:Ljava/util/Vector;
            ifnonnull 2
         1: .line 156
            new java.lang.IndexOutOfBoundsException
            dup
            ldc "No such BodyPart"
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.mail.Multipart.parts:Ljava/util/Vector;
            iload 1 /* index */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast javax.mail.BodyPart
            areturn
        end local 1 // int index
        end local 0 // javax.mail.Multipart this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljavax/mail/Multipart;
            0    3     1  index  I
    Exceptions:
      throws javax.mail.MessagingException
    MethodParameters:
       Name  Flags
      index  

  public synchronized boolean removeBodyPart(javax.mail.BodyPart);
    descriptor: (Ljavax/mail/BodyPart;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.mail.Multipart this
        start local 1 // javax.mail.BodyPart part
         0: .line 174
            aload 0 /* this */
            getfield javax.mail.Multipart.parts:Ljava/util/Vector;
            ifnonnull 2
         1: .line 175
            new javax.mail.MessagingException
            dup
            ldc "No such body part"
            invokespecial javax.mail.MessagingException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.mail.Multipart.parts:Ljava/util/Vector;
            aload 1 /* part */
            invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
            istore 2 /* ret */
        start local 2 // boolean ret
         3: .line 178
            aload 1 /* part */
            aconst_null
            invokevirtual javax.mail.BodyPart.setParent:(Ljavax/mail/Multipart;)V
         4: .line 179
            iload 2 /* ret */
            ireturn
        end local 2 // boolean ret
        end local 1 // javax.mail.BodyPart part
        end local 0 // javax.mail.Multipart this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/mail/Multipart;
            0    5     1  part  Ljavax/mail/BodyPart;
            3    5     2   ret  Z
    Exceptions:
      throws javax.mail.MessagingException
    MethodParameters:
      Name  Flags
      part  

  public synchronized void removeBodyPart(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.mail.Multipart this
        start local 1 // int index
         0: .line 196
            aload 0 /* this */
            getfield javax.mail.Multipart.parts:Ljava/util/Vector;
            ifnonnull 2
         1: .line 197
            new java.lang.IndexOutOfBoundsException
            dup
            ldc "No such BodyPart"
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.mail.Multipart.parts:Ljava/util/Vector;
            iload 1 /* index */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast javax.mail.BodyPart
            astore 2 /* part */
        start local 2 // javax.mail.BodyPart part
         3: .line 200
            aload 0 /* this */
            getfield javax.mail.Multipart.parts:Ljava/util/Vector;
            iload 1 /* index */
            invokevirtual java.util.Vector.removeElementAt:(I)V
         4: .line 201
            aload 2 /* part */
            aconst_null
            invokevirtual javax.mail.BodyPart.setParent:(Ljavax/mail/Multipart;)V
         5: .line 202
            return
        end local 2 // javax.mail.BodyPart part
        end local 1 // int index
        end local 0 // javax.mail.Multipart this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljavax/mail/Multipart;
            0    6     1  index  I
            3    6     2   part  Ljavax/mail/BodyPart;
    Exceptions:
      throws javax.mail.MessagingException
    MethodParameters:
       Name  Flags
      index  

  public synchronized void addBodyPart(javax.mail.BodyPart);
    descriptor: (Ljavax/mail/BodyPart;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.mail.Multipart this
        start local 1 // javax.mail.BodyPart part
         0: .line 216
            aload 0 /* this */
            getfield javax.mail.Multipart.parts:Ljava/util/Vector;
            ifnonnull 2
         1: .line 217
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield javax.mail.Multipart.parts:Ljava/util/Vector;
         2: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.mail.Multipart.parts:Ljava/util/Vector;
            aload 1 /* part */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         3: .line 220
            aload 1 /* part */
            aload 0 /* this */
            invokevirtual javax.mail.BodyPart.setParent:(Ljavax/mail/Multipart;)V
         4: .line 221
            return
        end local 1 // javax.mail.BodyPart part
        end local 0 // javax.mail.Multipart this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/mail/Multipart;
            0    5     1  part  Ljavax/mail/BodyPart;
    Exceptions:
      throws javax.mail.MessagingException
    MethodParameters:
      Name  Flags
      part  

  public synchronized void addBodyPart(javax.mail.BodyPart, int);
    descriptor: (Ljavax/mail/BodyPart;I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.mail.Multipart this
        start local 1 // javax.mail.BodyPart part
        start local 2 // int index
         0: .line 239
            aload 0 /* this */
            getfield javax.mail.Multipart.parts:Ljava/util/Vector;
            ifnonnull 2
         1: .line 240
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield javax.mail.Multipart.parts:Ljava/util/Vector;
         2: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.mail.Multipart.parts:Ljava/util/Vector;
            aload 1 /* part */
            iload 2 /* index */
            invokevirtual java.util.Vector.insertElementAt:(Ljava/lang/Object;I)V
         3: .line 243
            aload 1 /* part */
            aload 0 /* this */
            invokevirtual javax.mail.BodyPart.setParent:(Ljavax/mail/Multipart;)V
         4: .line 244
            return
        end local 2 // int index
        end local 1 // javax.mail.BodyPart part
        end local 0 // javax.mail.Multipart this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljavax/mail/Multipart;
            0    5     1   part  Ljavax/mail/BodyPart;
            0    5     2  index  I
    Exceptions:
      throws javax.mail.MessagingException
    MethodParameters:
       Name  Flags
      part   
      index  

  public abstract void writeTo(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException, javax.mail.MessagingException
    MethodParameters:
      Name  Flags
      os    

  public synchronized javax.mail.Part getParent();
    descriptor: ()Ljavax/mail/Part;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.mail.Multipart this
         0: .line 267
            aload 0 /* this */
            getfield javax.mail.Multipart.parent:Ljavax/mail/Part;
            areturn
        end local 0 // javax.mail.Multipart this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/mail/Multipart;

  public synchronized void setParent(javax.mail.Part);
    descriptor: (Ljavax/mail/Part;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.mail.Multipart this
        start local 1 // javax.mail.Part parent
         0: .line 282
            aload 0 /* this */
            aload 1 /* parent */
            putfield javax.mail.Multipart.parent:Ljavax/mail/Part;
         1: .line 283
            return
        end local 1 // javax.mail.Part parent
        end local 0 // javax.mail.Multipart this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljavax/mail/Multipart;
            0    2     1  parent  Ljavax/mail/Part;
    MethodParameters:
        Name  Flags
      parent  
}
SourceFile: "Multipart.java"