class_docstr: Class for processing data without transforming encoded features.
  Encoded features - features after OneHot encoding operation, when one
  feature (with categorical values) can be represented as several boolean
  vectors
class_docstr_tok: ["Class","for","processing","data","without","transforming","encoded","features",".","Encoded","features","-","features","after","OneHot","encoding","operation",",","when","one","feature","(","with","categorical","values",")","can","be","represented","as","several","boolean","vectors"]
docstr: Update column types after applying operations.
  If new columns added, new type for them are defined
docstr_tok: ["Update","column","types","after","applying","operations",".","If","new","columns","added",",","new","type","for","them","are","defined"]
code: def _update_column_types(
      self, source_features_shape, output_data: OutputData
  ) -> OutputData:
      """
      Update column types after applying operations.
      If new columns added, new type for them are defined
      """
      return output_data
  
imports: from abc import ABC, abstractmethod
  from copy import deepcopy
  from typing import Optional
  import numpy
  from golem.core.log import default_log
  from fedot.core.data.data import InputData, OutputData
  from fedot.core.operations.operation_parameters import OperationParameters
  from fedot.core.repository.dataset_types import DataTypesEnum
  from fedot.utilities.custom_errors import AbstractMethodNotImplementError
label_desc: Use image node_id 5 for calling the EncodedInvariantImplementation obj's underlying member method code with example usage: obj._update_column_types(source_features_shape, output_data) and returns: output_data