Bug 546247 - Exceptions when dealing with messages during shutdown

Change-Id: I8538962f2df8d114a6b63666c23162962b506826
Signed-off-by: Mickael Istria <mistria@redhat.com>
diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LanguageServerWrapper.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LanguageServerWrapper.java
index bc4c4d9..68d1e21 100644
--- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LanguageServerWrapper.java
+++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/LanguageServerWrapper.java
@@ -214,7 +214,10 @@
 						consumer.consume(message);
 						logMessage(message);
 						URI root = initParams.getRootUri() != null ? URI.create(initParams.getRootUri()) : null;
-						this.lspStreamProvider.handleMessage(message, this.languageServer, root);
+						final StreamConnectionProvider currentConnectionProvider = this.lspStreamProvider;
+						if (currentConnectionProvider != null && isActive()) {
+							currentConnectionProvider.handleMessage(message, this.languageServer, root);
+						}
 					}));
 
 			this.languageServer = launcher.getRemoteProxy();