diff --git a/pkg/analysis_server/lib/src/handler/legacy/completion_get_suggestions2.dart b/pkg/analysis_server/lib/src/handler/legacy/completion_get_suggestions2.dart
index e237c6b..a3371ba 100644
--- a/pkg/analysis_server/lib/src/handler/legacy/completion_get_suggestions2.dart
+++ b/pkg/analysis_server/lib/src/handler/legacy/completion_get_suggestions2.dart
@@ -13,7 +13,6 @@
 import 'package:analysis_server/src/services/completion/completion_performance.dart';
 import 'package:analysis_server/src/services/completion/dart/candidate_suggestion.dart';
 import 'package:analysis_server/src/services/completion/dart/completion_manager.dart';
-import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
 import 'package:analysis_server/src/services/completion/yaml/analysis_options_generator.dart';
 import 'package:analysis_server/src/services/completion/yaml/fix_data_generator.dart';
 import 'package:analysis_server/src/services/completion/yaml/pubspec_generator.dart';
@@ -63,44 +62,6 @@
     });
   }
 
-  /// Computes completion results for [request] and append them to the stream.
-  ///
-  /// Clients should not call this method directly as it is
-  /// automatically called when a client listens to the stream returned by
-  /// 'results'. Subclasses should override this method, append at least one
-  /// result to the controller, and close the controller stream once complete.
-  Future<List<CompletionSuggestionBuilder>> computeSuggestions({
-    required CompletionBudget budget,
-    required OperationPerformanceImpl performance,
-    required DartCompletionRequest request,
-    required int maxSuggestions,
-    NotImportedSuggestions? notImportedSuggestions,
-    required bool useFilter,
-  }) async {
-    //
-    // Compute completions generated by server.
-    //
-    var suggestions = <CompletionSuggestionBuilder>[];
-    await performance.runAsync('computeSuggestions', (performance) async {
-      var manager = DartCompletionManager(
-        budget: budget,
-        notImportedSuggestions: notImportedSuggestions,
-      );
-
-      suggestions.addAll(
-        await manager.computeSuggestions(
-          request,
-          performance,
-          maxSuggestions: maxSuggestions,
-          useFilter: useFilter,
-        ),
-      );
-    });
-    // TODO(danrubel): if request is obsolete (processAnalysisRequest returns
-    // false) then send empty results
-    return suggestions;
-  }
-
   /// Return the suggestions that should be presented in the YAML [file] at the
   /// given [offset].
   YamlCompletionResults computeYamlSuggestions(String file, int offset) {
