code: def __call__(self, objs):
      if all(isinstance(obj, SERIES_TYPE) for obj in objs):
          self.output_types = [OutputType.series]
          return self._call_series(objs)
      else:
          self.output_types = [OutputType.dataframe]
          return self._call_dataframes(objs)
  
imports: import pandas
  import numpy
  from ...None import opcodes
  from ...core import ENTITY_TYPE, OutputType, recursive_tile
  from ...serialization.serializables import FieldTypes, ListField, StringField, BoolField, AnyField
  from ...utils import lazy_import, has_unknown_shape
  from ..operands import DataFrameOperand, DataFrameOperandMixin, SERIES_TYPE
  from ..utils import parse_index, build_empty_df, build_empty_series, standardize_range_index, validate_axis
label_desc: Use image node_id 11 for calling the DataFrameConcat obj's underlying member method code with example usage: obj.__call__(objs) and returns: self, self