code: func handleSymlink(h FileSystem, source, dest string) (bool, error) {
  	lstatinfo, lstaterr := h.Lstat(source)
  	_, staterr := h.Stat(source)
  	if lstaterr == nil &&
  		lstatinfo.Mode()&os.ModeSymlink != 0 {
  		if os.IsNotExist(staterr) {
  			glog.V(5).Infof("(broken) L %q -> %q", source, dest)
  		} else if h.ShouldKeepSymlinks() {
  			glog.V(5).Infof("L %q -> %q", source, dest)
  		} else {
  			// symlink not handled here, will copy the file content
  			return false, nil
  		}
  		linkdest, err := h.Readlink(source)
  		if err != nil {
  			return true, err
  		}
  		return true, h.Symlink(linkdest, dest)
  	}
  	// symlink not handled here, will copy the file content
  	return false, nil
  }
docs: // If src is symlink and symlink copy has been enabled, copy as a symlink.
  // Otherwise ignore symlink and let rest of the code follow the symlink
  // and copy the content of the file