DetectMavenRepository
        (
            string id_fully_qualified
        )
        {
            (string id_group, string id_artifact, string version)a = Artifact.Parse(id_fully_qualified);

            string url = null;

            MavenRepository mr_google = null;

            try
            {
                url = MavenRepositoryGoogle.GetUrlForGroupId(a.id_group);

                if (url != null)
                {
                    mr_google = new MavenRepositoryGoogle();
                }
            }
            catch (System.Exception exc)
            {
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                sb.AppendLine($"Artifact.DetectMavenRepository Exception for MavenRepositoryGoogle");
                sb.AppendLine($"    Message : {exc.Message}");
                sb.AppendLine($"    Artifact Id Fully Qualified: {id_fully_qualified}");

                System.Diagnostics.Trace.WriteLine(sb.ToString());

                throw;
            }

            yield return(mr_google);

            //try
            //{
            //    mr = new MavenRepositoryMavenCentral();

            //}
            //catch (System.Exception exc)
            //{
            //    System.Text.StringBuilder sb = new System.Text.StringBuilder();
            //    sb.AppendLine($"Artifact.DetectMavenRepository Exception for MavenRepositoryMavenCentral");
            //    sb.AppendLine($"    Message : {exc.Message}");
            //    sb.AppendLine($"    Artifact Id Fully Qualified: {id_fully_qualified}");

            //    System.Diagnostics.Trace.WriteLine(sb.ToString());

            //    throw;
            //}

            //return;
        }
        ExistsGroup
        (
            string group_id
        )
        {
            string url = MavenRepositoryGoogle.GetUrlForGroupId(group_id);

            Uri  uri_result    = null;
            bool result_create = Uri.TryCreate(url, UriKind.Absolute, out uri_result);
            bool result_web    = uri_result.Scheme == Uri.UriSchemeHttp || uri_result.Scheme == Uri.UriSchemeHttps;

            return(result_create && result_web);
        }