def METHOD_NAME(self, queries: List[str],
                documents:  List[List[Dict]],
                *args,
                **kwargs):
    """
    Args:
        queries (List[str]): search queries
        texts (List[List[Dict]]): For each query, a list of documents to rerank
            where each document is a dictionary with the following structure:
            {
                "document": {
                    "text": "A man is eating food.",
                    "document_id": "0",
                    "title": "food"
                },
                "score": 1.4
            }
    Returns:
        List[List[Dict]] A list of reranked documents in the same structure as the input documents
         with the score replaced with the reranker score for each query.
    """
    # Step 1: Locally update object variable values, if provided
    max_num_documents = (
        kwargs["max_num_documents"]
        if "max_num_documents" in kwargs
        else self.max_num_documents
    )
    include_title = (
        kwargs["include_title"]
        if "include_title" in kwargs
        else self.include_title
    )
    ranking_results = []
    for query, docs in zip(queries, documents):
        texts = []
        for p in docs:
            if include_title and 'title' in p['document'] and len(p['document']['title'].strip()) > 0:
                texts.append(p['document']['title'] + '\n\n' + p['document']['text'])
            else:
                texts.append(p['document']['text'])
        scores = self._searcher.rescore(query, texts).tolist()
        ranked_passage_indexes = np.array(scores).argsort()[::-1][:max_num_documents if max_num_documents > 0 else len(scores)].tolist()
        results = []
        for idx in ranked_passage_indexes:
            docs[idx]['score'] = scores[idx]
            results.append(docs[idx])
        ranking_results.append(results)
    return ranking_results