Bug 338189 partial fix. A model command with a buggy behavior
diff --git a/plugins/org.eclipse.wst.sse.sieditor.model/api/org/eclipse/wst/sse/sieditor/command/emf/xsd/SetBaseTypeCommand.java b/plugins/org.eclipse.wst.sse.sieditor.model/api/org/eclipse/wst/sse/sieditor/command/emf/xsd/SetBaseTypeCommand.java
index c35d241..02c81c4 100644
--- a/plugins/org.eclipse.wst.sse.sieditor.model/api/org/eclipse/wst/sse/sieditor/command/emf/xsd/SetBaseTypeCommand.java
+++ b/plugins/org.eclipse.wst.sse.sieditor.model/api/org/eclipse/wst/sse/sieditor/command/emf/xsd/SetBaseTypeCommand.java
@@ -161,9 +161,10 @@
              * Create PT ST - Create PT PT Create ST -
              */
             if (baseType instanceof XSDSimpleTypeDefinition && (null == content || content instanceof XSDParticle)) {
-                complexType.eUnset(xsdPackage.getXSDComplexTypeDefinition_Content());
-                complexType.setContent(content = factory.createXSDSimpleTypeDefinition());
-                complexType.setDerivationMethod(XSDDerivationMethod.EXTENSION_LITERAL);
+                complexType.setContent(null);
+				complexType.setDerivationMethod(XSDDerivationMethod.EXTENSION_LITERAL);
+				final XSDComplexTypeContent complexTypeContent = factory.createXSDSimpleTypeDefinition();
+				complexType.setContent(content = complexTypeContent);
             } else {
                 if (baseType instanceof XSDComplexTypeDefinition) {
                     if (null == content || content instanceof XSDSimpleTypeDefinition) {