/// <summary>
 /// Initializes a new instance of the <see cref="DeleteQueueItem"/> class.
 /// </summary>
 /// <param name="associationQueueItemBase">The association queue item base.</param>
 /// <param name="paths">The paths to delete (can either be a directory or file path).</param>
 public DeleteQueueItem(
     AssociationQueueItemBase associationQueueItemBase,
     params string[] paths)
     : this(
         associationQueueItemBase : associationQueueItemBase,
         paths : paths.AsEnumerable())
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DeleteQueueItem"/> class.
 /// </summary>
 /// <param name="associationQueueItemBase">The association queue item base.</param>
 /// <param name="paths">The paths to delete (can either be a directory or file path).</param>
 public DeleteQueueItem(
     AssociationQueueItemBase associationQueueItemBase,
     IEnumerable <string> paths)
     : this(
         calledApplicationEntityTitle : associationQueueItemBase?.CalledApplicationEntityTitle ?? throw new ArgumentNullException(nameof(associationQueueItemBase)),
         callingApplicationEntityTitle : associationQueueItemBase?.CallingApplicationEntityTitle ?? throw new ArgumentNullException(nameof(associationQueueItemBase)),
         paths : paths,
         associationGuid : associationQueueItemBase.AssociationGuid,
         // We reset the date time to maximise the amount of time we try to delete (this association could have expried and we are trying to clean up).
         associationDateTime : DateTime.UtcNow,
         dequeueCount : 0)  // Default to zero
 {
 }