def METHOD_NAME(
    self, documents: List[Document], embed_meta_fields: Optional[List[str]] = None
) -> List[Document]:
    """
    Concatenates specified metadata fields with the text representations.
    :param documents: List of documents to add metadata to.
    :param embed_meta_fields: Concatenate the provided meta fields and into the text passage that is then used in
        reranking.
    :return: List of documents with metadata.
    """
    if not embed_meta_fields:
        return documents
    docs_with_meta = []
    for doc in documents:
        doc = deepcopy(doc)
        # Gather all relevant metadata fields
        meta_data_fields = []
        for key in embed_meta_fields:
            if key in doc.meta and doc.meta[key]:
                if isinstance(doc.meta[key], list):
                    meta_data_fields.extend([item for item in doc.meta[key]])
                else:
                    meta_data_fields.append(doc.meta[key])
        # Convert to type string (e.g. for ints or floats)
        meta_data_fields = [str(field) for field in meta_data_fields]
        doc.content = "\n".join(meta_data_fields + [doc.content])
        docs_with_meta.append(doc)
    return docs_with_meta