@Override
      public void downloadingCancelled() {
        try {
          remoteFileInfo.removeDownloadingListener(this);
        }
        finally {
          promise.setError("Cancelled");
        }
      }
@Override
      public void downloadingCancelled()