/// <summary>
        /// Creates a processor set loaded with the provided processors.
        /// </summary>
        /// <remarks>
        /// <para>
        /// An empty processor set will be created if <paramref name="processors"/> is null
        /// or contains no processors.
        /// </para>
        /// </remarks>
        /// <param name="processors">The processors to include in the set.</param>
        /// <returns>The processor set</returns>
        public static ProcessorSet Create(INMGenProcessor[] processors)
        {
            INMGenProcessor[] lprocessors = ArrayUtil.Compress(processors);

            if (lprocessors == null)
                lprocessors = new INMGenProcessor[0];
            else if (lprocessors == processors)
                lprocessors = (INMGenProcessor[])processors.Clone();

            return new ProcessorSet(lprocessors);
        }