[223399]  A Web2.5 model fails to update after adding servlet and mappings using IModelProvider.modify
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDelegate.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDelegate.java
index 623b4d5..4216d3a 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDelegate.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/project/facet/JSFFacetInstallDelegate.java
@@ -272,27 +272,25 @@
 		
 		IPath webXMLPath = new Path("WEB-INF").append("web.xml");
 		if (JSFUtils12.isWebApp25(webAppObj)) {			
-			final WebApp webApp = (WebApp)webAppObj;
-			provider.modify(new UpdateWebXMLForJavaEE(webApp, config), webXMLPath); //$NON-NLS-1$ //$NON-NLS-2$
+			provider.modify(new UpdateWebXMLForJavaEE(project, config), webXMLPath); //$NON-NLS-1$ //$NON-NLS-2$
 		}
-		else {//must be 2.3 or 2.4
-			final org.eclipse.jst.j2ee.webapplication.WebApp webApp = (org.eclipse.jst.j2ee.webapplication.WebApp)webAppObj;
-			provider.modify(new UpdateWebXMLForJ2EE(webApp, config), webXMLPath); //$NON-NLS-1$ //$NON-NLS-2$
+		else {//must be 2.3 or 2.4			
+			provider.modify(new UpdateWebXMLForJ2EE(project, config), webXMLPath); //$NON-NLS-1$ //$NON-NLS-2$
 		}
 
 	}
 	
 	private class UpdateWebXMLForJavaEE implements Runnable {
-		private WebApp webApp;
+		private IProject project;
 		private IDataModel config;
 		
-		UpdateWebXMLForJavaEE(final WebApp webApp, final IDataModel config){
-			this.webApp = webApp;
+		UpdateWebXMLForJavaEE(final IProject project, final IDataModel config){
+			this.project = project;
 			this.config = config;
 		}
 		
 		public void run() {
-
+			WebApp webApp = (WebApp) ModelProviderManager.getModelProvider(project).getModelObject();
 			// create or update servlet ref
 			Servlet servlet = JSFUtils12.findJSFServlet(webApp);// check to see
 																// if already
@@ -314,16 +312,17 @@
 		}
 	}
 	
-	private class UpdateWebXMLForJ2EE implements Runnable {
-		private org.eclipse.jst.j2ee.webapplication.WebApp webApp;
+	private class UpdateWebXMLForJ2EE implements Runnable {		
+		private IProject project;
 		private IDataModel config;
 		
-		UpdateWebXMLForJ2EE(final org.eclipse.jst.j2ee.webapplication.WebApp webApp, final IDataModel config){
-			this.webApp = webApp;
+		UpdateWebXMLForJ2EE(IProject project, final IDataModel config){
+			this.project = project ;
 			this.config = config;
 		}
 		
 		public void run() {
+			org.eclipse.jst.j2ee.webapplication.WebApp webApp = (org.eclipse.jst.j2ee.webapplication.WebApp)ModelProviderManager.getModelProvider(project).getModelObject();
 			// create or update servlet ref
 			org.eclipse.jst.j2ee.webapplication.Servlet servlet = JSFUtils11.findJSFServlet(webApp);// check to see
 																// if already