/// <summary>
        ///     Aggregates the matches from the usage queries.
        /// </summary>
        /// <param name="symbolServer">
        ///     To get file and line info the pdbs are read. If the pdb does not match it contacts the
        ///     symbol server to look for matching pdb and downloads it.
        /// </param>
        public UsageQueryAggregator(string symbolServer) : this(true)
        {
            if (this.myPdbReader != null)
            {
                this.myPdbReader.Dispose();
                this.myPdbReader = null;
            }

            this.myPdbReader = new PdbInformationReader(symbolServer);
        }
        /// <summary>
        ///     Aggregates the matches from the usage queries.
        /// </summary>
        /// <param name="bReadPdbs">if set to <c>true</c> [you get file and line information for the matches].</param>
        public UsageQueryAggregator(bool bReadPdbs)
        {
            this.MethodMatches = new List<QueryResult<MethodDefinition>>();
            this.TypeMatches = new List<QueryResult<TypeDefinition>>();
            this.myTypeQuery = new TypeQuery();
            this.FieldMatches = new List<QueryResult<FieldDefinition>>();
            this.AssemblyMatches = new HashSet<string>(StringComparer.OrdinalIgnoreCase);

            if (bReadPdbs)
            {
                this.myPdbReader = new PdbInformationReader();
            }
        }