internal MessagePartSpecification GetOutgoingSignatureParts(string action)
 {
     if (!this.ApplyIntegrity)
     {
         return(MessagePartSpecification.NoParts);
     }
     if (this.IsDuplexReply)
     {
         return(MessageSecurityProtocolFactory.ExtractMessageParts(action, this.ProtectionRequirements.OutgoingSignatureParts, true));
     }
     return(MessageSecurityProtocolFactory.ExtractMessageParts(action, this.ActAsInitiator ? this.ProtectionRequirements.IncomingSignatureParts : this.ProtectionRequirements.OutgoingSignatureParts, true));
 }
 internal MessagePartSpecification GetOutgoingEncryptionParts(string action)
 {
     if (!this.ApplyConfidentiality)
     {
         return(MessagePartSpecification.NoParts);
     }
     if (this.IsDuplexReply)
     {
         return(MessageSecurityProtocolFactory.ExtractMessageParts(action, this.ProtectionRequirements.OutgoingEncryptionParts, false));
     }
     return(MessageSecurityProtocolFactory.ExtractMessageParts(action, this.ActAsInitiator ? this.ProtectionRequirements.IncomingEncryptionParts : this.ProtectionRequirements.OutgoingEncryptionParts, false));
 }