private static RepositorySignatureInfo GetRepositorySignatureInfo(string source)
        {
            RepositorySignatureInfo repositorySignatureInfo = null;

            if (!string.IsNullOrEmpty(source))
            {
                RepositorySignatureInfoProvider.Instance.TryGetRepositorySignatureInfo(source, out repositorySignatureInfo);
            }

            return(repositorySignatureInfo);
        }
 /// <summary>
 /// Add or update the repository signature information for the source.
 /// </summary>
 /// <param name="source">Package source URL.</param>
 /// <param name="repositorySignatureInfo">RepositorySignatureInfo for the source url.</param>
 public void AddOrUpdateRepositorySignatureInfo(string source, RepositorySignatureInfo repositorySignatureInfo)
 {
     _dict[source] = repositorySignatureInfo ?? throw new ArgumentNullException(nameof(repositorySignatureInfo));
 }
        /// <summary>
        /// Try to get repository signature information for the source.
        /// </summary>
        /// <param name="source">Package source URL.</param>
        /// <param name="repositorySignatureInfo">Contains the RepositorySignatureInfo when the method returns. It is null if repository signature information is unavailable.</param>
        /// <returns>True if the repository signature information was found. Otherwise, False.</returns>
        public bool TryGetRepositorySignatureInfo(string source, out RepositorySignatureInfo repositorySignatureInfo)
        {
            repositorySignatureInfo = null;

            return(_dict.TryGetValue(source, out repositorySignatureInfo));
        }