private @Nullable Path waitForBackup() throws IOException {
    if (myBackupFuture == null) return null;
    try {
      return myBackupFuture.get();
    }
    catch (InterruptedException | CancellationException e) {
      throw new IllegalStateException(e);
    }
    catch (ExecutionException e) {
      throw new IOException(UtilBundle.message("safe.write.backup", myTarget, myTarget.getFileName() + myBackupExt), e.getCause());
    }
  }
private @Nullable Path waitForBackup()