/// <summary>
        /// ProcessRecord of the command.
        /// </summary>
        public override void ExecuteSiteRecoveryCmdlet()
        {
            base.ExecuteSiteRecoveryCmdlet();

            this.WriteWarningWithTimestamp(
                string.Format(Properties.Resources.CmdletWillBeDeprecatedSoon,
                              this.MyInvocation.MyCommand.Name,
                              ""));

            List <StorageClassificationMapping> mappings = new List <StorageClassificationMapping>();
            Task mappingTask =
                RecoveryServicesClient.EnumerateStorageClassificationMappingsAsync((entities) =>
            {
                mappings.AddRange(entities);
            });

            Task.WaitAll(mappingTask);

            switch (this.ParameterSetName)
            {
            case ASRParameterSets.ByName:
                mappings = mappings.Where(item =>
                                          item.Name.Equals(
                                              this.Name,
                                              StringComparison.InvariantCultureIgnoreCase))
                           .ToList();
                break;
            }

            var psObject = mappings.ConvertAll(item =>
            {
                return(new ASRStorageClassificationMapping()
                {
                    Id = item.Id,
                    Name = item.Name,
                    PrimaryClassificationId = item.GetPrimaryStorageClassificationId(),
                    RecoveryClassificationId = item.Properties.TargetStorageClassificationId
                });
            });

            base.WriteObject(psObject, true);
        }