If 'dlink' is a symbolic link to a directory 'dir', and FileUtils.forceDelete is called on dlink, then here is what happens:
1) the contents of 'dir' are emptied (the link is followed).
2) 'dir' continues to exist (but is empty).
3) 'dlink' is removed.
The correct behavior is to simply remove 'dlink' without following it and thus without altering the contents of 'dir' (or 'dir' itself).