Tiny Fixes: avoid NPEs

Change-Id: I923d81be7b63e0be03806fcca7a82cb9b466135b
Signed-off-by: Brian de Alwis <bsd@acm.org>
diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/codelens/CodeLensProvider.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/codelens/CodeLensProvider.java
index 86c1da2..bac8833 100644
--- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/codelens/CodeLensProvider.java
+++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/codelens/CodeLensProvider.java
@@ -41,9 +41,14 @@
 					.getLanguageServers(document, capabilities -> capabilities.getCodeLensProvider() != null)
 					.thenComposeAsync(languageServers -> CompletableFuture.allOf(languageServers.stream()
 							.map(languageServer -> languageServer.getTextDocumentService().codeLens(param)
-									.thenAcceptAsync(codeLenses ->
-										codeLenses.stream().filter(Objects::nonNull).map(codeLens ->
-											toCodeMining(document, languageServer, codeLens)).filter(Objects::nonNull).forEach(codeLensResults::add)))
+									.thenAcceptAsync(codeLenses -> {
+										// textDocument/codeLens may return null
+										if (codeLenses != null) {
+											codeLenses.stream().filter(Objects::nonNull)
+													.map(codeLens -> toCodeMining(document, languageServer, codeLens))
+													.filter(Objects::nonNull).forEach(codeLensResults::add);
+										}
+									}))
 							.toArray(CompletableFuture[]::new)))
 					.thenApplyAsync(theVoid -> codeLensResults);
 		}
diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/LSPSymbolInFileDialog.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/LSPSymbolInFileDialog.java
index 631fd4c..d7ea3eb 100644
--- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/LSPSymbolInFileDialog.java
+++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/symbols/LSPSymbolInFileDialog.java
@@ -71,7 +71,8 @@
 					return hasChildren(either.getRight());
 				}
 			} else if (element instanceof DocumentSymbol) {
-				return !((DocumentSymbol) element).getChildren().isEmpty();
+				return ((DocumentSymbol) element).getChildren() != null
+						&& !((DocumentSymbol) element).getChildren().isEmpty();
 			}
 			return false;
 		}