public override void ExecuteCmdlet()
        {
            base.ExecuteCmdlet();
            var sourceApp = ResourcesClient.GetAppResource(InputObject.Name, InputObject.Slot);
            SnapshotRecoverySource source = new SnapshotRecoverySource()
            {
                Location = sourceApp.Location,
                Id       = sourceApp.Id
            };
            SnapshotRestoreRequest recoveryReq = new SnapshotRestoreRequest()
            {
                Overwrite                  = true,
                SnapshotTime               = this.InputObject.SnapshotTime.ToString("o"),
                RecoverConfiguration       = this.RecoverConfiguration,
                IgnoreConflictingHostNames = true,
                RecoverySource             = source,
                UseDRSecondary             = UseDisasterRecovery
            };
            Action recoverAction = () => WebsitesClient.RestoreSnapshot(ResourceGroupName, Name, Slot, recoveryReq);

            ConfirmAction(this.Force.IsPresent, "Web app contents will be overwritten with the contents of the snapshot.",
                          "The snapshot has been restored.", Name, recoverAction);
        }