diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java index c9283583e..a80de91b3 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/app/SpringSymbolIndex.java @@ -605,23 +605,25 @@ public class SpringSymbolIndex implements InitializingBean, SpringIndex { private Collection getDocsFromPath(IJavaProject project, String path) { List allProjectSymbols = this.symbolsByProject.get(project.getElementName()); - Set result = new HashSet<>(); if (allProjectSymbols != null) { - for (WorkspaceSymbol symbol : allProjectSymbols) { - Either location = symbol.getLocation(); - - String docURI = null; - if (location.isLeft()) { - docURI = location.getLeft().getUri(); - } - else if (location.isRight()) { - docURI = location.getRight().getUri(); - } - - if (docURI != null && docURI.startsWith(path)) { - result.add(docURI); + + synchronized(allProjectSymbols) { + for (WorkspaceSymbol symbol : allProjectSymbols) { + Either location = symbol.getLocation(); + + String docURI = null; + if (location.isLeft()) { + docURI = location.getLeft().getUri(); + } + else if (location.isRight()) { + docURI = location.getRight().getUri(); + } + + if (docURI != null && docURI.startsWith(path)) { + result.add(docURI); + } } } }