diff --git a/plugins/org.eclipse.epsilon.flexmi/src/org/eclipse/epsilon/flexmi/FlexmiParser.java b/plugins/org.eclipse.epsilon.flexmi/src/org/eclipse/epsilon/flexmi/FlexmiParser.java
index ea495d2..faa6b26 100644
--- a/plugins/org.eclipse.epsilon.flexmi/src/org/eclipse/epsilon/flexmi/FlexmiParser.java
+++ b/plugins/org.eclipse.epsilon.flexmi/src/org/eclipse/epsilon/flexmi/FlexmiParser.java
@@ -2,15 +2,30 @@
 
 import java.io.InputStream;
 
+import org.eclipse.emf.common.util.URI;
 import org.eclipse.epsilon.flexmi.xml.FlexmiXmlParser.Handler;
 import org.w3c.dom.Document;
 
 public interface FlexmiParser {
 	
-	public void parse(FlexmiResource resource, InputStream inputStream, Handler handler) throws FlexmiParseException;
-	
+	/**
+	 * Starts the parsing of a Flexmi resource
+	 */
+	public void parse(FlexmiResource resource, InputStream inputStream,
+			Handler handler) throws FlexmiParseException;
+
+	/**
+	 * Allows parsing included fragments that have a different URI
+	 * and do not require startDocument events
+	 */
+	public void parse(FlexmiResource resource, URI uri, InputStream inputStream,
+			Handler handler, boolean processDocument) throws Exception;
+
+	/**
+	 * Performs the actual parsing of the input contents into a DOM
+	 */
 	public Document parse(InputStream inputStream) throws Exception;
-	
+
 	public FlexmiFlavour getFlavour();
 	
 }
diff --git a/plugins/org.eclipse.epsilon.flexmi/src/org/eclipse/epsilon/flexmi/xml/FlexmiXmlParser.java b/plugins/org.eclipse.epsilon.flexmi/src/org/eclipse/epsilon/flexmi/xml/FlexmiXmlParser.java
index ecbfaef..5f5eb5a 100644
--- a/plugins/org.eclipse.epsilon.flexmi/src/org/eclipse/epsilon/flexmi/xml/FlexmiXmlParser.java
+++ b/plugins/org.eclipse.epsilon.flexmi/src/org/eclipse/epsilon/flexmi/xml/FlexmiXmlParser.java
@@ -9,6 +9,7 @@
 **********************************************************************/
 package org.eclipse.epsilon.flexmi.xml;
 
+import java.io.BufferedInputStream;
 import java.io.InputStream;
 import java.net.URL;
 import java.util.Scanner;
@@ -124,8 +125,12 @@
 				try {
 					URI includedURI = URI.createURI(value).resolve(uri);
 					InputStream includedInputStream = resource.getResourceSet().getURIConverter().createInputStream(includedURI);
+
+					BufferedInputStream bufferedInputStream = new BufferedInputStream(includedInputStream);
+					FlexmiParser parser = resource.createParser(bufferedInputStream);
+
 					resource.startProcessingFragment(includedURI);
-					new FlexmiXmlParser().parse(resource, includedURI, includedInputStream, handler, false);
+					parser.parse(resource, includedURI, bufferedInputStream, handler, false);
 					resource.endProcessingFragment();
 				}
 				catch (Exception ex) {
