[270172] ensure IFacetedProjectWorkingCopy is disposed.
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetProjectCreationDataModelProvider.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetProjectCreationDataModelProvider.java
index d8cb5d6..02d70d5 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetProjectCreationDataModelProvider.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetProjectCreationDataModelProvider.java
@@ -80,10 +80,11 @@
 		return names;
 	}
 
+	private final IFacetedProjectWorkingCopy fpjwc = FacetedProjectFramework.createNewProject();
+	
 	public void init() {
 		super.init();
 		
-		final IFacetedProjectWorkingCopy fpjwc = FacetedProjectFramework.createNewProject();
 		model.setProperty(FACETED_PROJECT_WORKING_COPY, fpjwc);
 		
 		fpjwc.addListener
@@ -146,6 +147,14 @@
 		model.addNestedModel(NESTED_PROJECT_DM, projectDataModel);
 	}
 
+	@Override
+	public void dispose() {
+		if(fpjwc != null){
+			fpjwc.dispose();
+		}
+		super.dispose();
+	}
+	
 	protected class FacetActionMapImpl extends HashMap implements FacetActionMap {
 		private static final long serialVersionUID = 1L;
 		private boolean supressNotification = false;
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/FacetProjectCreationOperation.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/FacetProjectCreationOperation.java
index abdcd14..5d0fd7a 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/FacetProjectCreationOperation.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/FacetProjectCreationOperation.java
@@ -153,9 +153,16 @@
 	public static void addDefaultFactets(IFacetedProject facetProj, IRuntime runtime) throws ExecutionException {
 		
 			if (runtime != null) {
-				final IFacetedProjectWorkingCopy fpjwc = facetProj.createWorkingCopy();
-				Set<IProjectFacetVersion> presetFacets = fpjwc.getDefaultConfiguration().getProjectFacets();
-				addDefaultFacets(facetProj, presetFacets);
+				IFacetedProjectWorkingCopy fpjwc = null;
+				try{
+					fpjwc = facetProj.createWorkingCopy();
+					Set<IProjectFacetVersion> presetFacets = fpjwc.getDefaultConfiguration().getProjectFacets();
+					addDefaultFacets(facetProj, presetFacets);
+				} finally{
+					if(fpjwc != null){
+						fpjwc.dispose();
+					}
+				}
 			}
 		
 	}