def METHOD_NAME(
    self,
    nodes: List[NodeWithScore],
    query_bundle: Optional[QueryBundle] = None,
) -> List[NodeWithScore]:
    """Optimize a node text given the query by shortening the node text."""
    if query_bundle is None:
        return nodes
    for node_idx in range(len(nodes)):
        text = nodes[node_idx].node.get_content(metadata_mode=MetadataMode.LLM)
        split_text = self._tokenizer_fn(text)
        if query_bundle.embedding is None:
            query_bundle.embedding = (
                self._embed_model.get_agg_embedding_from_queries(
                    query_bundle.embedding_strs
                )
            )
        text_embeddings = self._embed_model._get_text_embeddings(split_text)
        num_top_k = None
        threshold = None
        if self.percentile_cutoff is not None:
            num_top_k = int(len(split_text) * self.percentile_cutoff)
        if self.threshold_cutoff is not None:
            threshold = self.threshold_cutoff
        top_similarities, top_idxs = get_top_k_embeddings(
            query_embedding=query_bundle.embedding,
            embeddings=text_embeddings,
            similarity_fn=self._embed_model.similarity,
            similarity_top_k=num_top_k,
            embedding_ids=list(range(len(text_embeddings))),
            similarity_cutoff=threshold,
        )
        if len(top_idxs) == 0:
            raise ValueError("Optimizer returned zero sentences.")
        top_sentences = [split_text[idx] for idx in top_idxs]
        logger.debug(f"> Top {len(top_idxs)} sentences with scores:\n")
        if logger.isEnabledFor(logging.DEBUG):
            for idx in range(len(top_idxs)):
                logger.debug(
                    f"{idx}. {top_sentences[idx]} ({top_similarities[idx]})"
                )
        nodes[node_idx].node.set_content(" ".join(top_sentences))
    return nodes