public class com.sun.xml.internal.ws.handler.SOAPMessageContextImpl extends com.sun.xml.internal.ws.handler.MessageUpdatableContext implements javax.xml.ws.handler.soap.SOAPMessageContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.xml.internal.ws.handler.SOAPMessageContextImpl
  super_class: com.sun.xml.internal.ws.handler.MessageUpdatableContext
{
  private java.util.Set<java.lang.String> roles;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private javax.xml.soap.SOAPMessage soapMsg;
    descriptor: Ljavax/xml/soap/SOAPMessage;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.xml.internal.ws.api.WSBinding binding;
    descriptor: Lcom/sun/xml/internal/ws/api/WSBinding;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(com.sun.xml.internal.ws.api.WSBinding, com.sun.xml.internal.ws.api.message.Packet, java.util.Set<java.lang.String>);
    descriptor: (Lcom/sun/xml/internal/ws/api/WSBinding;Lcom/sun/xml/internal/ws/api/message/Packet;Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.sun.xml.internal.ws.handler.SOAPMessageContextImpl this
        start local 1 // com.sun.xml.internal.ws.api.WSBinding binding
        start local 2 // com.sun.xml.internal.ws.api.message.Packet packet
        start local 3 // java.util.Set roles
         0: .line 61
            aload 0 /* this */
            aload 2 /* packet */
            invokespecial com.sun.xml.internal.ws.handler.MessageUpdatableContext.<init>:(Lcom/sun/xml/internal/ws/api/message/Packet;)V
         1: .line 57
            aload 0 /* this */
            aconst_null
            putfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.soapMsg:Ljavax/xml/soap/SOAPMessage;
         2: .line 62
            aload 0 /* this */
            aload 1 /* binding */
            putfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.binding:Lcom/sun/xml/internal/ws/api/WSBinding;
         3: .line 63
            aload 0 /* this */
            aload 3 /* roles */
            putfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.roles:Ljava/util/Set;
         4: .line 64
            return
        end local 3 // java.util.Set roles
        end local 2 // com.sun.xml.internal.ws.api.message.Packet packet
        end local 1 // com.sun.xml.internal.ws.api.WSBinding binding
        end local 0 // com.sun.xml.internal.ws.handler.SOAPMessageContextImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/sun/xml/internal/ws/handler/SOAPMessageContextImpl;
            0    5     1  binding  Lcom/sun/xml/internal/ws/api/WSBinding;
            0    5     2   packet  Lcom/sun/xml/internal/ws/api/message/Packet;
            0    5     3    roles  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Lcom/sun/xml/internal/ws/api/WSBinding;Lcom/sun/xml/internal/ws/api/message/Packet;Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
         Name  Flags
      binding  
      packet   
      roles    

  public javax.xml.soap.SOAPMessage getMessage();
    descriptor: ()Ljavax/xml/soap/SOAPMessage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.xml.internal.ws.handler.SOAPMessageContextImpl this
         0: .line 67
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.soapMsg:Ljavax/xml/soap/SOAPMessage;
            ifnonnull 8
         1: .line 69
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.packet:Lcom/sun/xml/internal/ws/api/message/Packet;
            invokevirtual com.sun.xml.internal.ws.api.message.Packet.getMessage:()Lcom/sun/xml/internal/ws/api/message/Message;
            astore 1 /* m */
        start local 1 // com.sun.xml.internal.ws.api.message.Message m
         2: .line 70
            aload 0 /* this */
            aload 1 /* m */
            ifnull 3
            aload 1 /* m */
            invokevirtual com.sun.xml.internal.ws.api.message.Message.readAsSOAPMessage:()Ljavax/xml/soap/SOAPMessage;
            goto 4
      StackMap locals: com.sun.xml.internal.ws.handler.SOAPMessageContextImpl com.sun.xml.internal.ws.api.message.Message
      StackMap stack: com.sun.xml.internal.ws.handler.SOAPMessageContextImpl
         3: aconst_null
      StackMap locals: com.sun.xml.internal.ws.handler.SOAPMessageContextImpl com.sun.xml.internal.ws.api.message.Message
      StackMap stack: com.sun.xml.internal.ws.handler.SOAPMessageContextImpl javax.xml.soap.SOAPMessage
         4: putfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.soapMsg:Ljavax/xml/soap/SOAPMessage;
        end local 1 // com.sun.xml.internal.ws.api.message.Message m
         5: .line 71
            goto 8
      StackMap locals: com.sun.xml.internal.ws.handler.SOAPMessageContextImpl
      StackMap stack: javax.xml.soap.SOAPException
         6: astore 1 /* e */
        start local 1 // javax.xml.soap.SOAPException e
         7: .line 72
            new javax.xml.ws.WebServiceException
            dup
            aload 1 /* e */
            invokespecial javax.xml.ws.WebServiceException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // javax.xml.soap.SOAPException e
         8: .line 75
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.soapMsg:Ljavax/xml/soap/SOAPMessage;
            areturn
        end local 0 // com.sun.xml.internal.ws.handler.SOAPMessageContextImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/xml/internal/ws/handler/SOAPMessageContextImpl;
            2    5     1     m  Lcom/sun/xml/internal/ws/api/message/Message;
            7    8     1     e  Ljavax/xml/soap/SOAPException;
      Exception table:
        from    to  target  type
           1     5       6  Class javax.xml.soap.SOAPException

  public void setMessage(javax.xml.soap.SOAPMessage);
    descriptor: (Ljavax/xml/soap/SOAPMessage;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.xml.internal.ws.handler.SOAPMessageContextImpl this
        start local 1 // javax.xml.soap.SOAPMessage soapMsg
         0: .line 80
            aload 0 /* this */
            aload 1 /* soapMsg */
            putfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.soapMsg:Ljavax/xml/soap/SOAPMessage;
         1: .line 81
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Exception
         2: astore 2 /* e */
        start local 2 // java.lang.Exception e
         3: .line 82
            new javax.xml.ws.WebServiceException
            dup
            aload 2 /* e */
            invokespecial javax.xml.ws.WebServiceException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception e
         4: .line 84
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.xml.soap.SOAPMessage soapMsg
        end local 0 // com.sun.xml.internal.ws.handler.SOAPMessageContextImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/sun/xml/internal/ws/handler/SOAPMessageContextImpl;
            0    5     1  soapMsg  Ljavax/xml/soap/SOAPMessage;
            3    4     2        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      soapMsg  

  void setPacketMessage(com.sun.xml.internal.ws.api.message.Message);
    descriptor: (Lcom/sun/xml/internal/ws/api/message/Message;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.xml.internal.ws.handler.SOAPMessageContextImpl this
        start local 1 // com.sun.xml.internal.ws.api.message.Message newMessage
         0: .line 87
            aload 1 /* newMessage */
            ifnull 3
         1: .line 88
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.packet:Lcom/sun/xml/internal/ws/api/message/Packet;
            aload 1 /* newMessage */
            invokevirtual com.sun.xml.internal.ws.api.message.Packet.setMessage:(Lcom/sun/xml/internal/ws/api/message/Message;)V
         2: .line 89
            aload 0 /* this */
            aconst_null
            putfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.soapMsg:Ljavax/xml/soap/SOAPMessage;
         3: .line 91
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.xml.internal.ws.api.message.Message newMessage
        end local 0 // com.sun.xml.internal.ws.handler.SOAPMessageContextImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/sun/xml/internal/ws/handler/SOAPMessageContextImpl;
            0    4     1  newMessage  Lcom/sun/xml/internal/ws/api/message/Message;
    MethodParameters:
            Name  Flags
      newMessage  

  protected void updateMessage();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.xml.internal.ws.handler.SOAPMessageContextImpl this
         0: .line 96
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.soapMsg:Ljavax/xml/soap/SOAPMessage;
            ifnull 3
         1: .line 97
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.packet:Lcom/sun/xml/internal/ws/api/message/Packet;
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.soapMsg:Ljavax/xml/soap/SOAPMessage;
            invokestatic com.sun.xml.internal.ws.api.message.saaj.SAAJFactory.create:(Ljavax/xml/soap/SOAPMessage;)Lcom/sun/xml/internal/ws/api/message/Message;
            invokevirtual com.sun.xml.internal.ws.api.message.Packet.setMessage:(Lcom/sun/xml/internal/ws/api/message/Message;)V
         2: .line 98
            aload 0 /* this */
            aconst_null
            putfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.soapMsg:Ljavax/xml/soap/SOAPMessage;
         3: .line 100
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.xml.internal.ws.handler.SOAPMessageContextImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/xml/internal/ws/handler/SOAPMessageContextImpl;

  public java.lang.Object[] getHeaders(javax.xml.namespace.QName, javax.xml.bind.JAXBContext, boolean);
    descriptor: (Ljavax/xml/namespace/QName;Ljavax/xml/bind/JAXBContext;Z)[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=4
        start local 0 // com.sun.xml.internal.ws.handler.SOAPMessageContextImpl this
        start local 1 // javax.xml.namespace.QName header
        start local 2 // javax.xml.bind.JAXBContext jaxbContext
        start local 3 // boolean allRoles
         0: .line 103
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.binding:Lcom/sun/xml/internal/ws/api/WSBinding;
            invokeinterface com.sun.xml.internal.ws.api.WSBinding.getSOAPVersion:()Lcom/sun/xml/internal/ws/api/SOAPVersion;
            astore 4 /* soapVersion */
        start local 4 // com.sun.xml.internal.ws.api.SOAPVersion soapVersion
         1: .line 105
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* beanList */
        start local 5 // java.util.List beanList
         2: .line 107
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.packet:Lcom/sun/xml/internal/ws/api/message/Packet;
            invokevirtual com.sun.xml.internal.ws.api.message.Packet.getMessage:()Lcom/sun/xml/internal/ws/api/message/Message;
            invokevirtual com.sun.xml.internal.ws.api.message.Message.getHeaders:()Lcom/sun/xml/internal/ws/api/message/MessageHeaders;
            aload 1 /* header */
            iconst_0
            invokeinterface com.sun.xml.internal.ws.api.message.MessageHeaders.getHeaders:(Ljavax/xml/namespace/QName;Z)Ljava/util/Iterator;
            astore 6 /* itr */
        start local 6 // java.util.Iterator itr
         3: .line 108
            iload 3 /* allRoles */
            ifeq 12
         4: .line 109
            goto 6
         5: .line 110
      StackMap locals: com.sun.xml.internal.ws.api.SOAPVersion java.util.List java.util.Iterator
      StackMap stack:
            aload 5 /* beanList */
            aload 6 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.ws.api.message.Header
            aload 2 /* jaxbContext */
            invokevirtual javax.xml.bind.JAXBContext.createUnmarshaller:()Ljavax/xml/bind/Unmarshaller;
            invokeinterface com.sun.xml.internal.ws.api.message.Header.readAsJAXB:(Ljavax/xml/bind/Unmarshaller;)Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 109
      StackMap locals:
      StackMap stack:
            aload 6 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         7: .line 112
            goto 13
         8: .line 114
      StackMap locals:
      StackMap stack:
            aload 6 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.ws.api.message.Header
            astore 7 /* soapHeader */
        start local 7 // com.sun.xml.internal.ws.api.message.Header soapHeader
         9: .line 116
            aload 7 /* soapHeader */
            aload 4 /* soapVersion */
            invokeinterface com.sun.xml.internal.ws.api.message.Header.getRole:(Lcom/sun/xml/internal/ws/api/SOAPVersion;)Ljava/lang/String;
            astore 8 /* role */
        start local 8 // java.lang.String role
        10: .line 117
            aload 0 /* this */
            invokevirtual com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.getRoles:()Ljava/util/Set;
            aload 8 /* role */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 118
            aload 5 /* beanList */
            aload 7 /* soapHeader */
            aload 2 /* jaxbContext */
            invokevirtual javax.xml.bind.JAXBContext.createUnmarshaller:()Ljavax/xml/bind/Unmarshaller;
            invokeinterface com.sun.xml.internal.ws.api.message.Header.readAsJAXB:(Ljavax/xml/bind/Unmarshaller;)Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.lang.String role
        end local 7 // com.sun.xml.internal.ws.api.message.Header soapHeader
        12: .line 113
      StackMap locals:
      StackMap stack:
            aload 6 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        13: .line 122
      StackMap locals:
      StackMap stack:
            aload 5 /* beanList */
            invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
        14: areturn
        end local 6 // java.util.Iterator itr
        15: .line 123
      StackMap locals: com.sun.xml.internal.ws.handler.SOAPMessageContextImpl javax.xml.namespace.QName javax.xml.bind.JAXBContext int com.sun.xml.internal.ws.api.SOAPVersion java.util.List
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        16: .line 124
            new javax.xml.ws.WebServiceException
            dup
            aload 6 /* e */
            invokespecial javax.xml.ws.WebServiceException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Exception e
        end local 5 // java.util.List beanList
        end local 4 // com.sun.xml.internal.ws.api.SOAPVersion soapVersion
        end local 3 // boolean allRoles
        end local 2 // javax.xml.bind.JAXBContext jaxbContext
        end local 1 // javax.xml.namespace.QName header
        end local 0 // com.sun.xml.internal.ws.handler.SOAPMessageContextImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lcom/sun/xml/internal/ws/handler/SOAPMessageContextImpl;
            0   17     1       header  Ljavax/xml/namespace/QName;
            0   17     2  jaxbContext  Ljavax/xml/bind/JAXBContext;
            0   17     3     allRoles  Z
            1   17     4  soapVersion  Lcom/sun/xml/internal/ws/api/SOAPVersion;
            2   17     5     beanList  Ljava/util/List<Ljava/lang/Object;>;
            3   15     6          itr  Ljava/util/Iterator<Lcom/sun/xml/internal/ws/api/message/Header;>;
            9   12     7   soapHeader  Lcom/sun/xml/internal/ws/api/message/Header;
           10   12     8         role  Ljava/lang/String;
           16   17     6            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2    14      15  Class java.lang.Exception
    MethodParameters:
             Name  Flags
      header       
      jaxbContext  
      allRoles     

  public java.util.Set<java.lang.String> getRoles();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.xml.internal.ws.handler.SOAPMessageContextImpl this
         0: .line 129
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.roles:Ljava/util/Set;
            areturn
        end local 0 // com.sun.xml.internal.ws.handler.SOAPMessageContextImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/xml/internal/ws/handler/SOAPMessageContextImpl;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;
}
SourceFile: "SOAPMessageContextImpl.java"