anchor.diff:    static const String COMPLETION_PATH = '/completion';
   
     /**
  +   * The path used to request an overlay contents.
  +   */
  +  static const String OVERLAY_PATH = '/overlay';
  +
  +  /**
      * The path used to request overlays information.
      */
     static const String OVERLAYS_PATH = '/overlays';
  
positive.code:       _returnCacheEntry(request);
      } else if (path == COMPLETION_PATH) {
        _returnCompletionInfo(request);
      } else if (path == OVERLAYS_PATH) {
        _returnOverlaysInfo(request);
      } else {
  
negative.code:     response.write('<h1>Dart Analysis Server - Overlays</h1>');
      response.write('<table border="1">');
      int count = 0;
      _overlayContents.clear();
      analysisServer.folderMap.forEach((_, AnalysisContextImpl context) {
        context.visitContentCache((Source source, int stamp, String contents) {
          count++;
          response.write('<tr>');
          String linkRef = '$OVERLAY_PATH?id=$count';
          String linkText = HTML_ESCAPE.convert(source.toString());
          response.write('<td><a href="$linkRef">$linkText</a></td>');
          response.write(
              '<td>${new DateTime.fromMillisecondsSinceEpoch(stamp)}</td>');
          response.write('</tr>');
          _overlayContents[count] = contents;
        });
      });
      response.write('<tr><td colspan="2">Total: $count entries.</td></tr>');
  