[151069] StructuredDocument is not reloaded on ResourceChangedEvent
diff --git a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestOpenEditorXML.java b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestOpenEditorXML.java
index 5cbbfc0..b88d308 100644
--- a/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestOpenEditorXML.java
+++ b/tests/org.eclipse.wst.xml.ui.tests/src/org/eclipse/wst/xml/ui/tests/TestOpenEditorXML.java
@@ -23,13 +23,19 @@
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentExtension4;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.ide.IDE;
+import org.eclipse.wst.sse.core.StructuredModelManager;
+import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
 import org.eclipse.wst.sse.ui.StructuredTextEditor;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
 import org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart;
+import org.w3c.dom.NodeList;
 
 /**
  * Test misc editor functions with an open xml editor.
@@ -114,4 +120,32 @@
 			assertTrue("Unable to set text in editor: " + e, false);
 		}
 	}
+
+	/**
+	 * Test structured document is reloaded on resource change
+	 * 
+	 */
+	public void testBug151069() {
+		IDocument doc = (IDocument) fEditor.getAdapter(IDocument.class);
+		doc.set("<html><body><h1>Title</h1></body></html>");
+		// set h1 to readonly
+		IModelManager modelManager = StructuredModelManager.getModelManager();
+		IDOMModel model = null;
+		try {
+			model = (IDOMModel) modelManager.getExistingModelForEdit(doc);
+			if (model != null) {
+				NodeList nl = model.getDocument().getElementsByTagName("h1");
+				IDOMElement h1 = (IDOMElement) nl.item(0);
+				h1.setEditable(false, true);
+			}
+		}
+		finally {
+			if (model != null)
+				model.releaseFromEdit();
+		}
+
+		String newContent = "new content";
+		((IDocumentExtension4) doc).set(newContent, fFile.getModificationStamp());
+		assertEquals("Set contents in document with read only regions failed", newContent, doc.get());
+	}
 }