def METHOD_NAME(self, source, target, no_overwrite_mode=False):
    """Wrap os.symlink.
    Create directory of target if it does not exist.
    If no_overwrite_mode is not specified or not True, remove target if it
    is not a symbolic link pointing to source.
    """
    if os.path.islink(target) and os.readlink(target) == source:
        return
    self.makedirs(self.dirname(target))
    if not no_overwrite_mode:
        self.delete(target)
    try:
        os.METHOD_NAME(source, target)
    except OSError as exc:
        if exc.filename is None:  # Python does not set filename :-(
            exc.filename = target
        raise exc
    event = FileSystemEvent(FileSystemEvent.SYMLINK, source, target)
    self.handle_event(event)