[171459] Empty directories flag
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ZipFileLoadStrategyImpl.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ZipFileLoadStrategyImpl.java
index 5f9c188..7452cad 100644
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ZipFileLoadStrategyImpl.java
+++ b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/strategy/ZipFileLoadStrategyImpl.java
@@ -21,6 +21,7 @@
 import java.util.zip.ZipFile;
 
 import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
 
 
 /**
@@ -32,7 +33,7 @@
 public class ZipFileLoadStrategyImpl extends LoadStrategyImpl {
 	protected java.io.File file;
 	protected ZipFile zipFile;
-
+	
 	/**
 	 * ZipFileLoadStrategy constructor comment.
 	 */
@@ -96,7 +97,7 @@
 					aFile.setLastModified(entry.getTime());
 					list.add(aFile);
 				}
-			} else {
+			} else if(includeEmptyDirectories) {
 				File aFile = createDirectory(entry.getName());
 				aFile.setDirectoryEntry(true);
 				aFile.setSize(entry.getSize());
@@ -158,4 +159,30 @@
 	public void setZipFile(java.util.zip.ZipFile newZipFile) {
 		zipFile = newZipFile;
 	}
+
+	/**
+	 * This field is used to determine whether empty directories should be included in the 
+	 * file list of this archive.  The default value is set to {@link #ArchiveUtil.INCLUDE_EMPTY_DIRECTORIES}
+	 */
+	private boolean includeEmptyDirectories = ArchiveUtil.INCLUDE_EMPTY_DIRECTORIES;
+	
+	/**
+	 * If this value has not been set, the default is defined by {@link #ArchiveUtil.INCLUDE_EMPTY_DIRECTORIES}.
+	 * 
+	 * If this value is <code>true></code> then empty directories will be included in {@link #getFiles()}.
+	 * 
+	 * @see #setIncludeEmptyDirectories(boolean)
+	 */
+	public boolean isIncludeEmptyDirectories() {
+		return includeEmptyDirectories;
+	}
+
+	/**
+	 * If this value has not been set, the default is defined by {@link #ArchiveUtil.INCLUDE_EMPTY_DIRECTORIES}.
+	 * 
+	 * @see #isIncludeEmptyDirectories()
+	 */
+	public void setIncludeEmptyDirectories(boolean includeEmptyDirectories) {
+		this.includeEmptyDirectories = includeEmptyDirectories;
+	}
 }
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ArchiveUtil.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ArchiveUtil.java
index bfe9dd1..3ecab13 100644
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ArchiveUtil.java
+++ b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/internal/util/ArchiveUtil.java
@@ -43,6 +43,7 @@
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveException;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.EmptyResourceException;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveURIConverterImpl;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ZipFileLoadStrategyImpl;
 import org.eclipse.jst.j2ee.internal.J2EEConstants;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
 import org.eclipse.jst.j2ee.internal.common.XMLResource;
@@ -85,6 +86,14 @@
 	protected static String tempDirectoryName;
 
 	protected static java.io.File tempDirectory;
+	
+	/**
+	 * Flag to indicate whether empty directories should be included during import; defaults to true.
+	 * 
+	 * @see ZipFileLoadStrategyImpl#isIncludeEmptyDirectories()
+	 */
+	public static boolean INCLUDE_EMPTY_DIRECTORIES = true;
+	
 
 	public static String classNameToJavaUri(String className) {
 		return className.replace('.', '/').concat(DOT_JAVA);