public virtual void MoveFile(IFile source, string destination)
{
using (var tranHandle = GetKtmTransactionHandle())
NativeMethods.MoveFileTransacted(source.Path, destination, IntPtr.Zero, IntPtr.Zero,
NativeMethods.MoveFileFlags.MOVEFILE_REPLACE_EXISTING, tranHandle);
}