private string getTraceFilterTypeValue(TraceFilterType type)
        {
            switch (type)
            {
            case TraceFilterType.serversEnvironment:
                return("servers-environment");

            case TraceFilterType.securityStandard:
                return("security-standard");

            default:
                return(type.ToString());
            }
        }
        /// <summary>
        /// Gets subfilters for a filter.
        /// </summary>
        /// <param name="organizationId">Organization UUID</param>
        /// <param name="serverId">Server ID</param>
        /// <param name="type">Filter type. Allowed values: modules,workflow,servers,time,url,vulntype,security-standard.</param>
        /// <param name="filter">Query params that can be added to request.</param>
        /// <returns>A TraceFilterCatalogDetailsResponse that contains all the available subfilters.</returns>
        public TraceFilterCatalogDetailsResponse GetServerTraceFilterSubfilters(string organizationId, long serverId, TraceFilterType type, TraceFilter filter)
        {
            string endpoint = String.Format(NgEndpoints.SERVER_TRACE_FILTERS, organizationId, serverId, getTraceFilterTypeValue(type));

            if (filter != null)
            {
                endpoint += filter.ToString();
            }
            return(GetResponseAndDeserialize <TraceFilterCatalogDetailsResponse>(endpoint));
        }
        /// <summary>
        /// Gets subfilters for a filter.
        /// </summary>
        /// <param name="organizationId">Organization UUID</param>
        /// <param name="appId">Application UUID</param>
        /// <param name="type">Filter type. Allowed values: appversiontags,workflow,servers,time,url,vulntype,servers,security-standard.</param>
        /// <param name="filter">Query params that can be added to request.</param>
        /// <returns>A TraceFilterCatalogDetailsResponse that contains all the available subfilters.</returns>
        public TraceFilterCatalogDetailsResponse GetApplicationTraceFilterSubfilters(string organizationId, string appId, TraceFilterType type, TraceFilter filter)
        {
            string endpoint = String.Format(NgEndpoints.APPLICATION_TRACE_FILTERS, organizationId, appId, getTraceFilterTypeValue(type));

            if (filter != null)
            {
                endpoint += filter.ToString();
            }
            return(GetResponseAndDeserialize <TraceFilterCatalogDetailsResponse>(endpoint));
        }