/// <param name="sourceFileName">The file to copy. </param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="overwrite"><see langword="true"/> if the destination file should ignoring the read-only and hidden attributes and overwrite; otherwise, <see langword="false"/>.</param>
/// <param name="sourceFileName">The file to copy. </param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="overwrite"><see langword="true"/> if the destination file should ignoring the read-only and hidden attributes and overwrite; otherwise, <see langword="false"/>.</param>
/// <param name="pathFormat">Indicates the format of the path parameter(s).</param>
/// <param name="sourceFileName">The file to copy. </param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="overwrite"><see langword="true"/> if the destination file should ignoring the read-only and hidden attributes and overwrite; otherwise, <see langword="false"/>.</param>
/// <param name="sourceFileName">The file to copy. </param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="overwrite"><see langword="true"/> if the destination file should ignoring the read-only and hidden attributes and overwrite; otherwise, <see langword="false"/>.</param>
/// <param name="pathFormat">Indicates the format of the path parameter(s).</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified.</summary>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified.</summary>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <param name="pathFormat">Indicates the format of the path parameter(s).</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified.</summary>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <param name="preserveDates"><see langword="true"/> if original Timestamps must be preserved, <see langword="false"/> otherwise.</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified.</summary>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <param name="preserveDates"><see langword="true"/> if original Timestamps must be preserved, <see langword="false"/> otherwise.</param>
/// <param name="pathFormat">Indicates the format of the path parameter(s).</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified,
/// <para>and the possibility of notifying the application of its progress through a callback function.</para>
/// </summary>
/// <returns>A <see cref="CopyMoveResult"/> class with details of the Copy action.</returns>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null"/>.</param>
/// <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null"/>.</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified,
/// <para>and the possibility of notifying the application of its progress through a callback function.</para>
/// </summary>
/// <returns>A <see cref="CopyMoveResult"/> class with details of the Copy action.</returns>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null"/>.</param>
/// <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null"/>.</param>
/// <param name="pathFormat">Indicates the format of the path parameter(s).</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified,
/// <para>and the possibility of notifying the application of its progress through a callback function.</para>
/// </summary>
/// <returns>A <see cref="CopyMoveResult"/> class with details of the Copy action.</returns>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <param name="preserveDates"><see langword="true"/> if original Timestamps must be preserved, <see langword="false"/> otherwise.</param>
/// <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null"/>.</param>
/// <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null"/>.</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified,
/// <para>and the possibility of notifying the application of its progress through a callback function.</para>
/// </summary>
/// <returns>A <see cref="CopyMoveResult"/> class with details of the Copy action.</returns>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <param name="preserveDates"><see langword="true"/> if original Timestamps must be preserved, <see langword="false"/> otherwise.</param>
/// <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null"/>.</param>
/// <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null"/>.</param>
/// <param name="pathFormat">Indicates the format of the path parameter(s).</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified.</summary>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified.</summary>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <param name="pathFormat">Indicates the format of the path parameter(s).</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified.</summary>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <param name="preserveDates"><see langword="true"/> if original Timestamps must be preserved, <see langword="false"/> otherwise.</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified.</summary>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <param name="preserveDates"><see langword="true"/> if original Timestamps must be preserved, <see langword="false"/> otherwise.</param>
/// <param name="pathFormat">Indicates the format of the path parameter(s).</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified,
/// <para>and the possibility of notifying the application of its progress through a callback function.</para>
/// </summary>
/// <returns>A <see cref="CopyMoveResult"/> class with details of the Copy action.</returns>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null"/>.</param>
/// <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null"/>.</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified,
/// <para>and the possibility of notifying the application of its progress through a callback function.</para>
/// </summary>
/// <returns>A <see cref="CopyMoveResult"/> class with details of the Copy action.</returns>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null"/>.</param>
/// <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null"/>.</param>
/// <param name="pathFormat">Indicates the format of the path parameter(s).</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified,
/// <para>and the possibility of notifying the application of its progress through a callback function.</para>
/// </summary>
/// <returns>A <see cref="CopyMoveResult"/> class with details of the Copy action.</returns>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <param name="preserveDates"><see langword="true"/> if original Timestamps must be preserved, <see langword="false"/> otherwise.</param>
/// <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null"/>.</param>
/// <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null"/>.</param>
/// <summary>[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. <see cref="CopyOptions"/> can be specified,
/// <para>and the possibility of notifying the application of its progress through a callback function.</para>
/// </summary>
/// <returns>A <see cref="CopyMoveResult"/> class with details of the Copy action.</returns>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>The attributes of the original file are retained in the copied file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The file to copy.</param>
/// <param name="destinationFileName">The name of the destination file. This cannot be a directory.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <param name="preserveDates"><see langword="true"/> if original Timestamps must be preserved, <see langword="false"/> otherwise.</param>
/// <param name="progressHandler">A callback function that is called each time another portion of the file has been copied. This parameter can be <see langword="null"/>.</param>
/// <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null"/>.</param>
/// <param name="pathFormat">Indicates the format of the path parameter(s).</param>
/// <summary>Moves a specified file to a new location, providing the option to specify a new file name.</summary>
/// <remarks>
/// <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
/// <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="IOException"/>.</para>
/// <para>You cannot use the Move method to overwrite an existing file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
/// <remarks>
/// <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
/// <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="IOException"/>.</para>
/// <para>You cannot use the Move method to overwrite an existing file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
/// <remarks>
/// <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
/// <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="IOException"/>.</para>
/// <para>You cannot use the Move method to overwrite an existing file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
/// <remarks>
/// <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
/// <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="IOException"/>.</para>
/// <para>You cannot use the Move method to overwrite an existing file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
/// <remarks>
/// <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
/// <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="IOException"/>.</para>
/// <para>You cannot use the Move method to overwrite an existing file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The name of the file to move.</param>
/// <param name="destinationFileName">The new path for the file.</param>
/// <param name="moveOptions"><see cref="MoveOptions"/> that specify how the file is to be moved. This parameter can be <see langword="null"/>.</param>
/// <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
/// <remarks>
/// <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
/// <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="IOException"/>.</para>
/// <para>You cannot use the Move method to overwrite an existing file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The name of the file to move.</param>
/// <param name="destinationFileName">The new path for the file.</param>
/// <param name="moveOptions"><see cref="MoveOptions"/> that specify how the file is to be moved. This parameter can be <see langword="null"/>.</param>
/// <param name="pathFormat">Indicates the format of the path parameter(s).</param>
/// <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
/// <returns>A <see cref="CopyMoveResult"/> class with the status of the Move action.</returns>
/// <remarks>
/// <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
/// <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="IOException"/>.</para>
/// <para>You cannot use the Move method to overwrite an existing file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The name of the file to move.</param>
/// <param name="destinationFileName">The new path for the file.</param>
/// <param name="moveOptions"><see cref="MoveOptions"/> that specify how the file is to be moved. This parameter can be <see langword="null"/>.</param>
/// <param name="progressHandler">A callback function that is called each time another portion of the file has been moved. This parameter can be <see langword="null"/>.</param>
/// <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null"/>.</param>
/// <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
/// <returns>A <see cref="CopyMoveResult"/> class with the status of the Move action.</returns>
/// <remarks>
/// <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
/// <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="IOException"/>.</para>
/// <para>You cannot use the Move method to overwrite an existing file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The name of the file to move.</param>
/// <param name="destinationFileName">The new path for the file.</param>
/// <param name="moveOptions"><see cref="MoveOptions"/> that specify how the file is to be moved. This parameter can be <see langword="null"/>.</param>
/// <param name="progressHandler">A callback function that is called each time another portion of the file has been moved. This parameter can be <see langword="null"/>.</param>
/// <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null"/>.</param>
/// <param name="pathFormat">Indicates the format of the path parameter(s).</param>
/// <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
/// <remarks>
/// <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
/// <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="IOException"/>.</para>
/// <para>You cannot use the Move method to overwrite an existing file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The name of the file to move.</param>
/// <param name="destinationFileName">The new path for the file.</param>
/// <param name="moveOptions"><see cref="MoveOptions"/> that specify how the file is to be moved. This parameter can be <see langword="null"/>.</param>
/// <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
/// <remarks>
/// <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
/// <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="IOException"/>.</para>
/// <para>You cannot use the Move method to overwrite an existing file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The name of the file to move.</param>
/// <param name="destinationFileName">The new path for the file.</param>
/// <param name="moveOptions"><see cref="MoveOptions"/> that specify how the file is to be moved. This parameter can be <see langword="null"/>.</param>
/// <param name="pathFormat">Indicates the format of the path parameter(s).</param>
/// <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
/// <returns>A <see cref="CopyMoveResult"/> class with the status of the Move action.</returns>
/// <remarks>
/// <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
/// <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="IOException"/>.</para>
/// <para>You cannot use the Move method to overwrite an existing file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The name of the file to move.</param>
/// <param name="destinationFileName">The new path for the file.</param>
/// <param name="moveOptions"><see cref="MoveOptions"/> that specify how the file is to be moved. This parameter can be <see langword="null"/>.</param>
/// <param name="progressHandler">A callback function that is called each time another portion of the file has been moved. This parameter can be <see langword="null"/>.</param>
/// <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null"/>.</param>
/// <summary>[AlphaFS] Moves a specified file to a new location, providing the option to specify a new file name.</summary>
/// <returns>A <see cref="CopyMoveResult"/> class with the status of the Move action.</returns>
/// <remarks>
/// <para>This method works across disk volumes, and it does not throw an exception if the source and destination are the same.</para>
/// <para>Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an <see cref="IOException"/>.</para>
/// <para>You cannot use the Move method to overwrite an existing file.</para>
/// <para>Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.</para>
/// <para>If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.</para>
/// <param name="sourceFileName">The name of the file to move.</param>
/// <param name="destinationFileName">The new path for the file.</param>
/// <param name="moveOptions"><see cref="MoveOptions"/> that specify how the file is to be moved. This parameter can be <see langword="null"/>.</param>
/// <param name="progressHandler">A callback function that is called each time another portion of the file has been moved. This parameter can be <see langword="null"/>.</param>
/// <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null"/>.</param>
/// <param name="pathFormat">Indicates the format of the path parameter(s).</param>
/// <summary>Copy/move a Non-/Transacted file or directory including its children to a new location, <see cref="CopyOptions"/> or <see cref="MoveOptions"/> can be specified,
/// and the possibility of notifying the application of its progress through a callback function.
/// </summary>
/// <returns>A <see cref="CopyMoveResult"/> class with the status of the Copy or Move action.</returns>
/// <remarks>
/// <para>Option <see cref="CopyOptions.NoBuffering"/> is recommended for very large file transfers.</para>
/// <para>You cannot use the Move method to overwrite an existing file, unless
/// <param name="isFolder">Specifies that <paramref name="sourceFileName"/> and <paramref name="destinationFileName"/> are a file or directory.</param>
/// <param name="preserveDates"><see langword="true"/> if original Timestamps must be preserved, <see langword="false"/> otherwise. This parameter is ignored for move operations.</param>
/// <param name="copyOptions"><see cref="CopyOptions"/> that specify how the file is to be copied. This parameter can be <see langword="null"/>.</param>
/// <param name="moveOptions">Flags that specify how the file or directory is to be moved. This parameter can be <see langword="null"/>.</param>
/// <param name="progressHandler">A callback function that is called each time another portion of the file has been copied/moved. This parameter can be <see langword="null"/>.</param>
/// <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <see langword="null"/>.</param>
/// <param name="copyMoveResult"></param>
/// <param name="pathFormat">Indicates the format of the path parameter(s).</param>
// MSDN: .NET 3.5+: DirectoryNotFoundException: The path specified in sourceFileName or destinationFileName is invalid (for example, it is on an unmapped drive).