public static void merge(WebMetaData merged, WebMetaData xml, WebMetaData annotation)
{
ServletsMetaData servletsMetaData = new ServletsMetaData();
merge(servletsMetaData,xml.getServlets(), annotation.getServlets());
merged.setServlets(servletsMetaData);
SecurityRolesMetaData securityRolesMetaData = new SecurityRolesMetaData();
merge(securityRolesMetaData, xml.getSecurityRoles(), annotation.getSecurityRoles());
merged.setSecurityRoles(securityRolesMetaData);
EnvironmentRefsGroupMetaData environmentRefsGroup = new EnvironmentRefsGroupMetaData();
Environment xmlEnv = xml != null ? xml.getJndiEnvironmentRefsGroup() : null;
Environment annEnv = annotation != null ? annotation.getJndiEnvironmentRefsGroup() : null;
environmentRefsGroup.merge(xmlEnv,annEnv, "", "", false);
merged.setJndiEnvironmentRefsGroup(environmentRefsGroup);
MessageDestinationsMetaData messageDestinations = new MessageDestinationsMetaData();
messageDestinations.merge(xml.getMessageDestinations(), annotation.getMessageDestinations());
merged.setMessageDestinations(messageDestinations);
mergeIn(merged,annotation);
mergeIn(merged,xml);
}