GetPackageSearchMetadataAsync
        (
        )
        {
            IEnumerable <IPackageSearchMetadata> package_metadata = null;

            package_metadata = await NugetClient.GetPackageMetadataAsync
                               (
                this.PackageId
                               ).ConfigureAwait(false);

            // sorting in reverse order of version
            // in order to hit later versions first (speeding up) when iterating through
            // IEnumebrable/collections/containers
            package_metadata = from IPackageSearchMetadata psm in package_metadata
                               orderby psm.Identity.Version descending
                               select psm
            ;
            IEnumerable <string> versions = null;

            versions = from IPackageSearchMetadata psm in package_metadata
                       // no need to sort - done above
                       //orderby psm.Identity.Version descending
                       select psm.Identity.Version.ToFullString()
            ;

            this.VersionsTextual = versions.ToList();

            return(package_metadata);
        }
        GetPackageMetadataAsync
        (
        )
        {
            IEnumerable <IPackageSearchMetadata> package_metadata = null;

            package_metadata = await NugetClient.GetPackageMetadataAsync
                               (
                this.PackageId
                               ).ConfigureAwait(false);

            PackageSearchMetadata = package_metadata;

            return(package_metadata);
        }