code: def process_text_by_sample(
      self, sample: collections.ASRAudioText.OUTPUT_TYPE
  ) -> Tuple[List[int], int]:
      t, tl = sample.text_tokens, len(sample.text_tokens)
  
      if self.bos_id is not None:
          t = [self.bos_id] + t
          tl += 1
      if self.eos_id is not None:
          t = t + [self.eos_id]
          tl += 1
  
      return t, tl
  
imports: from typing import Callable, Dict, List, Optional, Tuple, Union
  import torch
  from nemo.collections.asr.data.feature_to_label import _audio_feature_collate_fn
  from nemo.collections.asr.parts.preprocessing.feature_loader import ExternalFeatureLoader
  from nemo.collections.asr.parts.preprocessing.features import normalize_batch
  from nemo.collections.asr.parts.utils.audio_utils import ChannelSelectorType
  from nemo.collections.asr.parts.utils.vad_utils import load_speech_segments_from_rttm
  from nemo.collections.common import tokenizers
  from nemo.collections.common.parts.preprocessing import collections, parsers
  from nemo.core.classes import Dataset
  from nemo.core.neural_types import AcousticEncodedRepresentation, LabelsType, LengthsType, NeuralType
label_desc: Use image node_id 4 for calling the ASRFeatureManifestProcessor obj's underlying member method code with example usage: obj.process_text_by_sample(sample) and returns: t,  tl