class_docstr: Stores the features produced by any featurizer.
class_docstr_tok: ["Stores","the","features","produced","by","any","featurizer","."]
docstr: Combine the incoming features with this instance's features.
  
  Args:
      additional_features: additional features to add
  
  Returns:
      Combined features.
docstr_tok: ["Combine","the","incoming","features","with","this","instance","'s","features",".","Args",":","additional_features",":","additional","features","to","add","Returns",":","Combined","features","."]
code: def combine_with_features(
      self, additional_features: Optional[Features]
  ) -> None:
      """Combine the incoming features with this instance's features.
  
      Args:
          additional_features: additional features to add
  
      Returns:
          Combined features.
      """
      if additional_features is None:
          return
  
      if self.is_dense() and additional_features.is_dense():
          self._combine_dense_features(additional_features)
      elif self.is_sparse() and additional_features.is_sparse():
          self._combine_sparse_features(additional_features)
      else:
          raise ValueError("Cannot combine sparse and dense features.")
  
imports: from __future__ import annotations
  from typing import Iterable, Union, Text, Optional, List, Any, Tuple, Dict, Set
  import itertools
  import numpy
  import scipy.sparse
  import rasa.shared.utils.io
  import rasa.shared.nlu.training_data.util
  from rasa.shared.nlu.constants import FEATURE_TYPE_SEQUENCE, FEATURE_TYPE_SENTENCE
label_desc: Use image node_id 6 for calling the Features obj's underlying member method code with example usage: obj.combine_with_features(additional_features) without return types