| Index: pkg/analyzer_plugin/lib/src/utilities/navigation/navigation.dart | 
| diff --git a/pkg/analyzer_plugin/lib/src/utilities/navigation.dart b/pkg/analyzer_plugin/lib/src/utilities/navigation/navigation.dart | 
| similarity index 80% | 
| rename from pkg/analyzer_plugin/lib/src/utilities/navigation.dart | 
| rename to pkg/analyzer_plugin/lib/src/utilities/navigation/navigation.dart | 
| index 08560cba8995fee7b61604c801191387ec845e6b..2ea06db019e9b83432daf98b20d344282d85b821 100644 | 
| --- a/pkg/analyzer_plugin/lib/src/utilities/navigation.dart | 
| +++ b/pkg/analyzer_plugin/lib/src/utilities/navigation/navigation.dart | 
| @@ -2,9 +2,11 @@ | 
| // for details. All rights reserved. Use of this source code is governed by a | 
| // BSD-style license that can be found in the LICENSE file. | 
|  | 
| +import 'package:analyzer/dart/analysis/results.dart'; | 
| +import 'package:analyzer/file_system/file_system.dart'; | 
| import 'package:analyzer/src/generated/source.dart' show SourceRange; | 
| import 'package:analyzer_plugin/protocol/protocol_common.dart'; | 
| -import 'package:analyzer_plugin/utilities/navigation.dart'; | 
| +import 'package:analyzer_plugin/utilities/navigation/navigation.dart'; | 
| import 'package:analyzer_plugin/utilities/pair.dart'; | 
|  | 
| /** | 
| @@ -81,3 +83,26 @@ class NavigationCollectorImpl implements NavigationCollector { | 
| return index; | 
| } | 
| } | 
| + | 
| +/** | 
| + * A concrete implementation of [NavigationRequest]. | 
| + */ | 
| +class NavigationRequestImpl implements NavigationRequest { | 
| +  @override | 
| +  final ResourceProvider resourceProvider; | 
| + | 
| +  @override | 
| +  final int length; | 
| + | 
| +  @override | 
| +  final int offset; | 
| + | 
| +  @override | 
| +  final ResolveResult result; | 
| + | 
| +  /** | 
| +   * Initialize a newly create request with the given data. | 
| +   */ | 
| +  NavigationRequestImpl( | 
| +      this.resourceProvider, this.offset, this.length, this.result); | 
| +} | 
|  |