[253870] FailedToCloseException
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/JavaEEBinaryComponentHelper.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/JavaEEBinaryComponentHelper.java
index 7299542..9d7788b 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/JavaEEBinaryComponentHelper.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/JavaEEBinaryComponentHelper.java
@@ -370,13 +370,12 @@
 	 */
 	private static class ArchiveCache {
 
-		private static ArchiveCache instance = null;
+		private static class ArchiveCacheInstanceHolder {
+			private static ArchiveCache instance = new ArchiveCache();
+		}
 
 		public static ArchiveCache getInstance() {
-			if (instance == null) {
-				instance = new ArchiveCache();
-			}
-			return instance;
+			return ArchiveCacheInstanceHolder.instance;
 		}
 
 		protected Map<IVirtualComponent, IArchive> componentsToArchives = new Hashtable<IVirtualComponent, IArchive>();