code: func (h *fs) CopyContents(src string, dest string) (err error) {
  	sourceinfo, err := h.Stat(src)
  	if err != nil {
  		return err
  	}
  	if err = os.MkdirAll(dest, sourceinfo.Mode()); err != nil {
  		return err
  	}
  	directory, err := os.Open(src)
  	if err != nil {
  		return err
  	}
  	defer directory.Close()
  	objects, err := directory.Readdir(-1)
  	if err != nil {
  		return err
  	}
  	for _, obj := range objects {
  		source := path.Join(src, obj.Name())
  		destination := path.Join(dest, obj.Name())
  		if err := h.Copy(source, destination); err != nil {
  			return err
  		}
  	}
  	return
  }
docs: // CopyContents copies the content of the source directory to a destination
  // directory.
  // If the destination directory does not exists, it will be created.
  // The source directory itself will not be copied, only its content. If you
  // want this behavior, the destination must include the source directory name.