Set the receiver’s timestamps to be accessDateTime and modifyDateTime.
Open the receiver in the given mode (as answered by FileStream’s class constant methods)
Set the receiver’s owner and group to be ownerString and groupString.
Compute the relative path from the directory dirName to the receiver
Remove the file with the given path name
Rename the file with the given path name to newFileName
Create destName as a symbolic link of the receiver. The appropriate relative path is computed automatically.
Create the receiver as a symlink from path destName