/// <summary>
        /// Sorts the collection of descriptors.
        /// </summary>
        /// <param name="leastDependentFirst">A flag that if true sorts the collection placing descriptors with the least
        /// number of dependencies first, false places the descriptors with the most dependencies first.</param>
        public void Sort(bool leastDependentFirst)
        {
            // use our custom comparers to sort based on dependencies
            IComparer comparer;

            if (leastDependentFirst)
            {
                comparer = new LeastDependentComparer();
            }
            else
            {
                comparer = new MostDependentComparer();
            }

            Sort(comparer);
        }
        /// <summary>
        /// Sorts the collection of descriptors.
        /// </summary>
        /// <param name="leastDependentFirst">A flag that if true sorts the collection placing descriptors with the least
        /// number of dependencies first, false places the descriptors with the most dependencies first.</param>
        public void Sort(bool leastDependentFirst)
        {
            // use our custom comparers to sort based on dependencies
            IComparer comparer = null;

            if (leastDependentFirst)
            {
                comparer = new LeastDependentComparer();
            }
            else
            {
                comparer = new MostDependentComparer();
            }

            this.Sort(comparer);

            this.LogContents();
        }
        /// <summary>
        /// Sorts the collection of descriptors.
        /// </summary>
        /// <param name="leastDependentFirst">A flag that if true sorts the collection placing descriptors with the least
        /// number of dependencies first, false places the descriptors with the most dependencies first.</param>
        public void Sort(bool leastDependentFirst)
        {
            // use our custom comparers to sort based on dependencies
            IComparer comparer = null;
            
            if (leastDependentFirst)
                comparer = new LeastDependentComparer();
            else
                comparer = new MostDependentComparer();                       

            this.Sort(comparer);

            this.LogContents();
        }