/// <summary>
 /// Create create directory op.
 /// </summary>
 /// <param name="session"></param>
 /// <param name="filesystem"></param>
 /// <param name="path"></param>
 /// <param name="option"></param>
 /// <param name="policy">(optional) Responds to <see cref="OperationPolicy.DstThrow"/>, <see cref="OperationPolicy.DstSkip"/> and <see cref="OperationPolicy.DstOverwrite"/> policies</param>
 public CreateDirectory(IOperationSession session, IFileSystem filesystem, string path, IOption option = null, OperationPolicy policy = OperationPolicy.Unset) : base(session, policy)
 {
     this.fileSystem = filesystem ?? throw new ArgumentNullException(nameof(filesystem));
     this.path       = path ?? throw new ArgumentNullException(nameof(path));
     // Can rollback if can delete
     this.CanRollback = filesystem.CanDelete();
     this.Option      = option;
 }