code: @Override
      public Restoration restoreSnapshot(String snapshotId,
                                         DuracloudEndPointConfig destination,
                                         String userEmail)
          throws SnapshotNotFoundException, SnapshotInProcessException, SnapshotException {
  
          checkInitialized();
  
          Snapshot snapshot = getSnapshot(snapshotId);
  
          if (!snapshot.getStatus().equals(SnapshotStatus.SNAPSHOT_COMPLETE)) {
              throw new SnapshotInProcessException("Snapshot is not complete. " +
                                                   "Restoration can only occur on a " +
                                                   "completed snapshot.");
          }
  
          Restoration restoration =
              createRestoration(snapshot, destination, userEmail);
  
          validateAndSet(restoration, RestoreStatus.RETRIEVING_FROM_STORAGE, "Restoration request issued");
  
          restoration = save(restoration);
  
          String restorationId = restoration.getRestorationId();
          File restoreDir = getRestoreDir(restorationId);
          restoreDir.mkdirs();
  
          //send email to snapshot storage owner to request restore
          String subject = "Snapshot Restoration Request for Snapshot ID = " +
                           snapshotId;
          String body = "Please perform a snapshot restore.\n" +
                        "\nSnapshot ID: " + snapshotId +
                        "\nRestore ID: " + restorationId +
                        "\nRestore Location: " + restoreDir.getAbsolutePath();
          notificationManager.sendNotification(NotificationType.EMAIL,
                                               subject,
                                               body,
                                               getAllEMailAddresses(this.config));
          return restoration;
      }
docs: /* (non-Javadoc)
  @see org.duracloud.snapshot.service.RestorationManager#restoreSnapshot(java.lang.String,
  org.duracloud.snapshot.db.model.DuracloudEndPointConfig)