code: @Override
      public Snapshot requestRestoreSnapshot(String snapshotId, DuracloudEndPointConfig destination, String userEmail)
          throws SnapshotException {
  
          checkInitialized();
  
          Snapshot snapshot = getSnapshot(snapshotId);
  
          String host = destination.getHost();
          String port = destination.getPort() + "";
          String storeId = destination.getStoreId();
  
          String url =
              "http"
              + (port.endsWith("443") ? "s" : "") + "://" + host + ":" + port + "/duradmin/spaces/sm/" + storeId + "/"
              + snapshotId + "?snapshot=true";
          // send email to DuraCloud team to request starting a restore
          String subject = "Snapshot Restoration Request for Snapshot ID = " + snapshotId;
          String format =
              "Please initiate a snapshot restore via the duracloud interface ( {0} ).\n"
              + "\nSnapshot ID: {1}\nHost:{2}\nPort: {3}\nStore ID: {4}\nRequestor email: {5}";
          String body = MessageFormat.format(format, url, snapshotId, host, port, storeId, userEmail);
          String[] duracloudEmailAddresses = this.config.getDuracloudEmailAddresses();
          notificationManager.sendNotification(NotificationType.EMAIL, subject, body, duracloudEmailAddresses);
  
          log.info("sent email to {}: message body = {}", duracloudEmailAddresses, body);
  
          return snapshot;
      }
docs: /* (non-Javadoc)
  @see org.duracloud.snapshot.service.RestoreManager#requestRestoreSnapshot(java.lang.String, org.duracloud
  .snapshot.db.model.DuracloudEndPointConfig, java.lang.String)