/// <summary>
        /// Search for an Instrument like the one given as a parameter.
        /// </summary>
        /// <param name="searchGuitar">The Guitar to searcvh for.</param>
        /// <returns>A collection of all the guitars that match the criteria.</returns>
        public ICollection<Instrument> Search(InstrumentSpecification searchSpecification)
        {
            if (searchSpecification is null)
                throw new ArgumentNullException(nameof(searchSpecification));

            List<Instrument> foundInstruments = new List<Instrument>();
            foreach (Instrument instrument in instruments)
            {
                if (instrument.Specification.Matches(searchSpecification))
                    foundInstruments.Add(instrument);
            }
            return foundInstruments;
        }
 public Instrument(string serialNumber, decimal price, InstrumentSpecification specification)
 {
     SerialNumber       = serialNumber;
     Price              = price;
     this.Specification = specification;
 }