[280507] AssemblyDescriptor.getMessageDestinations() was always returning a null list
diff --git a/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/model/internal/mergers/AssemblyDescriptorMerger.java b/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/model/internal/mergers/AssemblyDescriptorMerger.java
index e4aa443..f0a7222 100644
--- a/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/model/internal/mergers/AssemblyDescriptorMerger.java
+++ b/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/model/internal/mergers/AssemblyDescriptorMerger.java
@@ -61,6 +61,7 @@
     List warnings = new ArrayList();
     mergeSecurityRoles(warnings);
     mergeTransactionAttribute(warnings);
+    copyGeneralData(warnings);
     return warnings;
   }
   //TODO 
@@ -84,6 +85,7 @@
       }
     }
   }
+  
 
   private boolean containsSecRole(SecurityRole secRole, List secRoles){
     for (Object sRoles : secRoles) {
@@ -96,5 +98,38 @@
     }
     return false;
   }
+  
+  private void copyGeneralData(List warnings){
 
+	    if (getToMergeAssemblyDescriptor().getApplicationExceptions() != null && getToMergeAssemblyDescriptor().getApplicationExceptions().size() > 0){
+	      copyMissingContentInBase(getToMergeAssemblyDescriptor().getApplicationExceptions(), getBaseAssemblyDescriptor().getApplicationExceptions());
+	    }
+
+	    if (getToMergeAssemblyDescriptor().getInterceptorBindings() != null && getToMergeAssemblyDescriptor().getInterceptorBindings().size() > 0){
+		      copyMissingContentInBase(getToMergeAssemblyDescriptor().getInterceptorBindings(), getBaseAssemblyDescriptor().getInterceptorBindings());
+		}
+
+	    if (getToMergeAssemblyDescriptor().getContainerTransactions() != null && getToMergeAssemblyDescriptor().getContainerTransactions().size() > 0){
+		      copyMissingContentInBase(getToMergeAssemblyDescriptor().getContainerTransactions(), getBaseAssemblyDescriptor().getContainerTransactions());
+		}
+
+	    if (getToMergeAssemblyDescriptor().getMessageDestinations() != null && getToMergeAssemblyDescriptor().getMessageDestinations().size() > 0){
+		      copyMissingContentInBase(getToMergeAssemblyDescriptor().getMessageDestinations(), getBaseAssemblyDescriptor().getMessageDestinations());
+		}
+
+	    if (getToMergeAssemblyDescriptor().getMethodPermissions() != null && getToMergeAssemblyDescriptor().getMethodPermissions().size() > 0){
+		      copyMissingContentInBase(getToMergeAssemblyDescriptor().getMethodPermissions(), getBaseAssemblyDescriptor().getMethodPermissions());
+		}
+
+	    if (getToMergeAssemblyDescriptor().getExcludeList() != null && getToMergeAssemblyDescriptor().getExcludeList().getMethods().size() > 0){
+		      copyMissingContentInBase(getToMergeAssemblyDescriptor().getExcludeList().getMethods(), getBaseAssemblyDescriptor().getExcludeList().getMethods());
+		}
+
+	  }
+
+	  private void copyMissingContentInBase(List listSource, List target) {
+	    for (Object object : listSource) {
+	        target.add(EcoreUtil.copy((EObject) object));        
+	    }
+	  }
 }