| Index: pkg/analysis_server/lib/src/edit/edit_domain.dart
 | 
| diff --git a/pkg/analysis_server/lib/src/edit/edit_domain.dart b/pkg/analysis_server/lib/src/edit/edit_domain.dart
 | 
| index 13c0ebdeaa2b7d98630ddcc1131eed4a1b6b9320..0b7f232f2a00e49f90ae9a2098ae7c3834763801 100644
 | 
| --- a/pkg/analysis_server/lib/src/edit/edit_domain.dart
 | 
| +++ b/pkg/analysis_server/lib/src/edit/edit_domain.dart
 | 
| @@ -11,6 +11,7 @@ import 'package:analysis_server/plugin/edit/fix/fix_dart.dart';
 | 
|  import 'package:analysis_server/protocol/protocol_constants.dart';
 | 
|  import 'package:analysis_server/src/analysis_server.dart';
 | 
|  import 'package:analysis_server/src/collections.dart';
 | 
| +import 'package:analysis_server/src/computer/import_elements_computer.dart';
 | 
|  import 'package:analysis_server/src/domain_abstract.dart';
 | 
|  import 'package:analysis_server/src/plugin/plugin_manager.dart';
 | 
|  import 'package:analysis_server/src/plugin/result_converter.dart';
 | 
| @@ -350,6 +351,9 @@ class EditDomainHandler extends AbstractRequestHandler {
 | 
|          return Response.DELAYED_RESPONSE;
 | 
|        } else if (requestName == EDIT_REQUEST_GET_REFACTORING) {
 | 
|          return _getRefactoring(request);
 | 
| +      } else if (requestName == EDIT_REQUEST_IMPORT_ELEMENTS) {
 | 
| +        importElements(request);
 | 
| +        return Response.DELAYED_RESPONSE;
 | 
|        } else if (requestName == EDIT_REQUEST_ORGANIZE_DIRECTIVES) {
 | 
|          organizeDirectives(request);
 | 
|          return Response.DELAYED_RESPONSE;
 | 
| @@ -376,6 +380,32 @@ class EditDomainHandler extends AbstractRequestHandler {
 | 
|      return null;
 | 
|    }
 | 
|  
 | 
| +  /**
 | 
| +   * Implement the `edit.importElements` request.
 | 
| +   */
 | 
| +  Future<Null> importElements(Request request) async {
 | 
| +    EditImportElementsParams params =
 | 
| +        new EditImportElementsParams.fromRequest(request);
 | 
| +    //
 | 
| +    // Prepare the resolved unit.
 | 
| +    //
 | 
| +    AnalysisResult result = await server.getAnalysisResult(params.file);
 | 
| +    if (result == null) {
 | 
| +      server.sendResponse(new Response.importElementsInvalidFile(request));
 | 
| +    }
 | 
| +    //
 | 
| +    // Compute the edits required to import the required elements.
 | 
| +    //
 | 
| +    List<SourceEdit> edits =
 | 
| +        new ImportElementsComputer(result, params.file, params.elements)
 | 
| +            .compute();
 | 
| +    //
 | 
| +    // Send the response.
 | 
| +    //
 | 
| +    server.sendResponse(
 | 
| +        new EditImportElementsResult(edits).toResponse(request.id));
 | 
| +  }
 | 
| +
 | 
|    Future isPostfixCompletionApplicable(Request request) async {
 | 
|      var params = new EditGetPostfixCompletionParams.fromRequest(request);
 | 
|      bool value = false;
 | 
| 
 |