private bool CheckAttributeUsage(Analyzer /*!*/ analyzer, ref bool duplicateFound)
            {
                // check usage target of this attribute:
                bool is_usage_definite;
                AttributeUsageAttribute specific_usage = type.GetCustomAttributeUsage(out is_usage_definite);

                if (is_usage_definite)
                {
                    if (!CheckAttributeUsage(analyzer, specific_usage, ref duplicateFound))
                    {
                        return(false);
                    }
                }
                else
                {
                    // usage constraints cannot be determined now; ckeck the usage later during post-analysis:
                    analyzer.PostAnalyzed.Add(this);
                }

                return(true);
            }