public void MoveFile(String ExistingFileName, String NewFileName, bool ReplaceExisiting)
{
FileSystem NewFileSystem1; String NewPath1;
FileSystem NewFileSystem2; String NewPath2;
Access(ExistingFileName, out NewFileSystem1, out NewPath1);
Access(NewFileName, out NewFileSystem2, out NewPath2);
if (NewFileSystem1 != NewFileSystem2)
{
throw(new Exception("Can't MoveFile in different file systems"));
}
NewFileSystem1.ImplMoveFile(NewPath1, NewPath2, ReplaceExisiting);
}