Merge changes from trunk.
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SupportingToken.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SupportingToken.java
index 74c1c55..5473529 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SupportingToken.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SupportingToken.java
@@ -298,16 +298,20 @@
         
         if (signedParts != null) {
             signedParts.serialize(writer);
-            
-        } else if (signedElements != null) {
+        }
+        
+        if (signedElements != null) {
             signedElements.serialize(writer);
-            
-        } else if (encryptedParts != null) {
+        }
+        
+        if (encryptedParts != null) {
             encryptedParts.serialize(writer);
-            
-        } else if (encryptedElements != null) {
+        }
+        
+        if (encryptedElements != null) {
             encryptedElements.serialize(writer);
         }
+        
         // </wsp:Policy>
         writer.writeEndElement();