/// <summary>
        /// Gets outputs that conflict with the current output by signature.
        /// </summary>
        /// <returns></returns>
        public DeliveryOutput[] GetConflicting()
        {
            DeliveryOutput[] conflicting = null;
            if (this.Signature == null)
            {
                throw new InvalidOperationException("The output does not have a signature - cannot search for conflicts.");
            }

            conflicting = DeliveryDB.GetOutputsBySignature(this.Signature, exclude: this.OutputID);
            if (conflicting != null)
            {
                foreach (DeliveryOutput conflict in conflicting)
                {
                    if (conflict.PipelineInstanceID != null)
                    {
                        conflict.PipelineInstanceIsRunning = DeliveryDB.GetRuning(conflict.PipelineInstanceID.Value);
                    }
                }
            }
            return(conflicting);
        }