/// <summary>
        /// Gets the best driver for the specified capabilities.
        /// </summary>
        /// <param name="capabilities">The capabilities.</param>
        /// <returns>The best driver, if found; otherwise, <c>null</c>.</returns>
        public static IGpioConnectionDriver GetBestDriver(GpioConnectionDriverCapabilities capabilities)
        {
            if ((GpioConnectionDriver.GetCapabilities() & capabilities) == capabilities)
            {
                return(new GpioConnectionDriver());
            }
            if ((MemoryGpioConnectionDriver.GetCapabilities() & capabilities) == capabilities)
            {
                return(new MemoryGpioConnectionDriver());
            }
            if ((FileGpioConnectionDriver.GetCapabilities() & capabilities) == capabilities)
            {
                return(new FileGpioConnectionDriver());
            }

            return(null);
        }