Code review comment: Fixed with https://github.com/ballerina-platform/ballerina-lang/pull/33152/commits/a0e31e4edb62baf7d32c039cebccf9e3df7fa953

Code under review:
public CompletableFuture<CompletionsResponse> completions(CompletionsArguments args) {
        CompletionsResponse completionsResponse = new CompletionsResponse();
        CompletionsContext completionsContext = new CompletionsContext(suspendedContext);

        
        
        if (!triggerCharactersFound(args.getText())) {
            CompletionItem[] visibleSymbolCompletions = getVisibleSymbolCompletions(completionsContext);
            completionsResponse.setTargets(visibleSymbolCompletions);
            return CompletableFuture.completedFuture(completionsResponse);
        }

        
        
        try {
            NonTerminalNode injectedExpressionNode = getInjectedExpressionNode(completionsContext, args,
                    clientConfigHolder.getSourcePath(), suspendedContext.getLineNumber());
            CompletionsUtil.route(injectedExpressionNode, completionsContext);
            Node resolverNode = completionsContext.getResolverChain()
                    .get(completionsContext.getResolverChain().size() - 1);

            if (resolverNode instanceof FieldAccessExpressionNode) {
                FieldAccessCompletionsResolver fieldAccessCompletionsResolver =
                        new FieldAccessCompletionsResolver(completionsContext);
                List<Symbol> visibleEntries = fieldAccessCompletionsResolver
                        .getVisibleEntries(((FieldAccessExpressionNode) resolverNode).expression());
                CompletionItem[] completions = getCompletions(visibleEntries);
                completionsResponse.setTargets(completions);
            }
        } catch (Exception e) {
            LOGGER.error(e.getMessage());
        }
        return CompletableFuture.completedFuture(completionsResponse);
    }

Line commented on: if (resolverNode instanceof FieldAccessExpressionNode) {

Revised code:
public CompletableFuture<CompletionsResponse> completions(CompletionsArguments args) {
        return CompletableFuture.supplyAsync(() -> {
            CompletionsResponse completionsResponse = new CompletionsResponse();

            if (suspendedContext == null) {
                return completionsResponse;
            }
            CompletionContext completionContext = new CompletionContext(suspendedContext);

            
            
            if (!triggerCharactersFound(args.getText())) {
                CompletionItem[] visibleSymbolCompletions = getVisibleSymbolCompletions(completionContext);
                completionsResponse.setTargets(visibleSymbolCompletions);
                return completionsResponse;
            }

            
            
            try {
                NonTerminalNode injectedExpressionNode = getInjectedExpressionNode(completionContext, args,
                        clientConfigHolder.getSourcePath(), suspendedContext.getLineNumber());
                Optional<Node> resolverNode = getResolverNode(injectedExpressionNode);

                if (resolverNode.isPresent() && resolverNode.get().kind() == SyntaxKind.FIELD_ACCESS) {
                    FieldAccessCompletionResolver fieldAccessCompletionResolver =
                            new FieldAccessCompletionResolver(completionContext);
                    List<Symbol> visibleEntries = fieldAccessCompletionResolver
                            .getVisibleEntries(((FieldAccessExpressionNode) resolverNode.get()).expression());
                    CompletionItem[] completions = getCompletions(visibleEntries);
                    completionsResponse.setTargets(completions);
                }
            } catch (Exception e) {
                LOGGER.error(e.getMessage());
            }
            return completionsResponse;
        });
    }