Bug 316558 [XMI] Changes to a window's main menu is not being persisted properly
Additions to an MWindow's main menu is not being persisted correctly.
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/XMLModelReconciler.java
}
			} else if (isStringToStringMap(featureName)) {
				EMap<?, ?> map = (EMap<?, ?>) object.eGet(feature);
				for (Entry<?, ?> entry : map.entrySet()) {
					Element entryElement = document.createElement(featureName);
					entryElement.setAttribute(ENTRY_ATTVALUE_KEY, (String) entry.getKey());
					entryElement.setAttribute(ENTRY_ATTVALUE_VALUE, (String) entry.getValue());
					referenceAttributeElement.appendChild(entryElement);
				}
			} else {
				referenceAttributeElement.setAttribute(featureName, String.valueOf(object
						.eGet(feature)));
			}
		} else {
			referenceAttributeElement.setAttribute(UNSET_ATTNAME, UNSET_ATTVALUE_TRUE);
		}
		return referenceAttributeElement;
	}
	private static boolean isStringToStringMap(String featureName) {
		return featureName.equals(CONTRIBUTION_PERSISTEDSTATE_ATTNAME)
				|| featureName.equals(CONTEXT_PROPERTIES_ATTNAME);
	}
	/**
	 * Determines whether this feature is a direct reference to a particular object. That is, the
	 * reference is a 1-1 relationship and the referenced object is not referred by other objects
	 * and is a hard containment feature.
	 * <p>
	 * An example of a direct reference would be a window's main menu. The menu is "owned" by the
	 * window and cannot be one of the menus in a part.
	 * </p>