code: def _add_embeddings_internal(self, sentences: List[Sentence]):
      for embedding in self.embeddings:
          embedding.embed(sentences)
  
          # iterate over sentences
          for sentence in sentences:
              # if its a forward LM, take last state
              if embedding.is_forward_lm:
                  sentence.set_embedding(
                      embedding.name,
                      sentence[len(sentence) - 1]._embeddings[
                          embedding.name
                      ],
                  )
              else:
                  sentence.set_embedding(
                      embedding.name,
                      sentence[0]._embeddings[embedding.name],
                  )
  
      return sentences
  
imports: import logging
  from typing import Any, Dict, List, Optional, Union, cast
  import torch
  from sklearn.feature_extraction.text import TfidfVectorizer
  from torch.nn import RNNBase
  from torch.nn.utils.rnn import pack_padded_sequence, pad_packed_sequence
  import flair
  from flair.data import Sentence
  from flair.embeddings.base import DocumentEmbeddings, load_embeddings, register_embeddings
  from flair.embeddings.token import FlairEmbeddings, StackedEmbeddings, TokenEmbeddings
  from flair.embeddings.transformer import TransformerEmbeddings, TransformerOnnxDocumentEmbeddings
  from flair.nn import LockedDropout, WordDropout
label_desc: Use image node_id 3 for calling the DocumentLMEmbeddings obj's underlying member method code with example usage: obj._add_embeddings_internal(sentences) and returns: sentences