[175784] Support for external modules
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
index cdaa978..455d004 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
@@ -1250,6 +1250,8 @@
 		
 		try {
 			ILaunchConfiguration launchConfig = getLaunchConfiguration(true, monitor);
+			//if (launchConfig == null)
+			//	throw new CoreException();
 			ILaunch launch = launchConfig.launch(mode2, monitor); // , true); - causes workspace lock
 			Trace.trace(Trace.FINEST, "Launch: " + launch);
 		} catch (CoreException e) {
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java
index bf1bc4e..9383435 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java
@@ -522,12 +522,11 @@
 						modules.remove(remove[i]);
 						resetState(new IModule[] { remove[i] }, monitor);
 					}
-					if (externalModules.contains(remove[i])) {
+					if (externalModules != null && externalModules.contains(remove[i])) {
 						externalModules.remove(remove[i]);
 						resetState(new IModule[] { remove[i] }, monitor);
 					}
 				}
-				
 			}
 			
 			// convert to attribute