def METHOD_NAME(uids, file_name, db_name, ret_type, ret_mode="text",
                      overwrite=False):
    """
    Almost the same as :func:`fetch()`, but the data for the given UIDs
    will be stored in a single file.
    Parameters
    ----------
    uids : iterable object of str
        A list of UIDs of the
        file(s) to be downloaded.
    file_name : str or None
        The file path, including file name, to the target file.
    db_name : str:
        E-utility or common database name.
    ret_type : str
        Retrieval type.
    ret_mode : str, optional
        Retrieval mode.
    overwrite : bool, optional
        If false, the file is only downloaded, if no file with the same
        name already exists.
    Returns
    -------
    file : str or StringIO or BytesIO
        The file name of the downloaded file.
        If `file_name` is ``None``, the file content is stored in
        either a `StringIO` or a `BytesIO` object.
    Warnings
    --------
    Even if you give valid input to this function, in rare cases the
    database might return no or malformed data to you.
    In these cases the request should be retried.
    When the issue occurs repeatedly, the error is probably in your
    input.
    See also
    --------
    fetch
    """
    if file_name is not None \
       and os.path.isfile(file_name) \
       and getsize(file_name) > 0 \
       and not overwrite:
            # Do no redownload the already existing file
            return file_name
    uid_list_str = ""
    for id in uids:
        uid_list_str += id + ","
    # Remove terminal comma
    uid_list_str = uid_list_str[:-1]
    param_dict = {
        "db" : sanitize_database_name(db_name),
        "id" : uid_list_str,
        "rettype" : ret_type,
        "retmode" : ret_mode,
        "tool" : "Biotite",
        "mail" : "padix.key@gmail.com"
    }
    r = requests.get(_fetch_url, params=param_dict)
    content = r.text
    check_for_errors(content)
    if content.startswith(" Error"):
        raise RequestError(content[8:])
    if file_name is None:
        return io.StringIO(content)
    else:
        with open(file_name, "w+") as f:
            f.write(content)
        return file_name