public override string ToString()
        {
            var result = new StringBuilder();

            if (Desc.HasValue)
            {
                SonarHelpers.AppendUrl(result, "desc", Desc.ToString().ToLowerInvariant());
            }
            SonarHelpers.AppendUrl(result, "format", Format);
            SonarHelpers.AppendUrl(result, "key", Key);
            if (Libs.HasValue)
            {
                SonarHelpers.AppendUrl(result, "libs", Libs.ToString().ToLowerInvariant());
            }
            SonarHelpers.AppendUrl(result, "search", Search);
            if (Subprojects.HasValue)
            {
                SonarHelpers.AppendUrl(result, "subprojects", Subprojects.ToString().ToLowerInvariant());
            }
            if (Versions != null)
            {
                SonarHelpers.AppendUrl(result, "versions", Versions.ToString().Substring(1));
            }
            if (Views.HasValue)
            {
                SonarHelpers.AppendUrl(result, "views", Views.ToString().ToLowerInvariant());
            }

            return(result.Length > 0 ? "?" + result : string.Empty);
        }