def METHOD_NAME(  # noqa: PLR0913
    fo_entry: FileObjectEntry,
    file_object: FileObject,
    analysis_filter: list[str] | None = None,
    included_files: set[str] | None = None,
    parents: set[str] | None = None,
    virtual_file_paths: dict[str, list[str]] | None = None,
    parent_fw: set[str] | None = None,
):
    file_object.uid = fo_entry.uid
    file_object.size = fo_entry.size
    file_object.file_name = fo_entry.file_name
    file_object.virtual_file_path = virtual_file_paths or {}
    file_object.processed_analysis = {
        analysis_entry.plugin: analysis_entry_to_dict(analysis_entry)
        for analysis_entry in fo_entry.analyses
        if analysis_filter is None or analysis_entry.plugin in analysis_filter
    }
    file_object.analysis_tags = _collect_analysis_tags(file_object.processed_analysis)
    file_object.comments = fo_entry.comments
    file_object.parents = fo_entry.get_parent_uids() if parents is None else parents
    file_object.files_included = fo_entry.get_included_uids() if included_files is None else included_files
    file_object.parent_firmware_uids = fo_entry.get_parent_fw_uids() if parent_fw is None else parent_fw