def METHOD_NAME(self, documents: List[Document]):
    """
    Embed a list of Documents.
    The embedding of each Document is stored in the `embedding` field of the Document.
    """
    if not isinstance(documents, list) or not isinstance(documents[0], Document):
        raise TypeError(
            "SentenceTransformersDocumentEmbedder expects a list of Documents as input."
            "In case you want to embed a list of strings, please use the SentenceTransformersTextEmbedder."
        )
    if not hasattr(self, "embedding_backend"):
        raise RuntimeError("The embedding model has not been loaded. Please call warm_up() before running.")
    # TODO: once non textual Documents are properly supported, we should also prepare them for embedding here
    texts_to_embed = []
    for doc in documents:
        meta_values_to_embed = [
            str(doc.metadata[key])
            for key in self.metadata_fields_to_embed
            if key in doc.metadata and doc.metadata[key]
        ]
        text_to_embed = self.embedding_separator.join(meta_values_to_embed + [doc.content])
        texts_to_embed.append(text_to_embed)
    embeddings = self.embedding_backend.embed(
        texts_to_embed,
        batch_size=self.batch_size,
        show_progress_bar=self.progress_bar,
        normalize_embeddings=self.normalize_embeddings,
    )
    documents_with_embeddings = []
    for doc, emb in zip(documents, embeddings):
        doc_as_dict = doc.to_dict()
        doc_as_dict["embedding"] = emb
        documents_with_embeddings.append(Document.from_dict(doc_as_dict))
    return {"documents": documents_with_embeddings}