anchor.diff:      } else if (url.hasQuery && url.queryParameters['source'] != null) {
         Future<UuidContainer> futureGistId = dartSupportServices
             .retrieveGist(id: url.queryParameters['source']);
  -      futureGistId.then((UuidContainer gistId) {
  -        gistLoader.loadGist(gistId.uuid).then((Gist backing) {
  +      await futureGistId.then((UuidContainer gistId) => gistLoader.loadGist(gistId.uuid))
  +        .then((Gist backing) {
             editableGist.setBackingGist(backing);
             router.go('gist', {'gist': backing.id});
           });
  -      });
       } else if (_gistStorage.hasStoredGist && _gistStorage.storedId == null) {
         loadedFromSaved = true;
   
  
positive.code: 
    void showGist(RouteEnterEvent event) {
      String gistId = event.parameters['gist'];
  
      if (!isLegalGistId(gistId)) {
        showHome(event);
  
negative.code:     runButton.disabled = true;
      overlay.visible = true;
  
  
      Stopwatch compilationTimer = new Stopwatch()..start();
  
  