code: def _new_chunk(cls, op, chunk, input_chunks):
      out_elements = op.outputs[0]
      chunk_op = op.copy().reset_key()
      if out_elements.ndim == 1:
          out_chunk = chunk_op.new_chunk(
              input_chunks,
              shape=chunk.shape,
              dtype=out_elements.dtype,
              index_value=chunk.index_value,
              name=out_elements.name,
              index=chunk.index,
          )
      else:
          chunk_dtypes = pd.Series(
              [np.dtype(bool) for _ in chunk.dtypes],
              index=chunk.dtypes.index,
          )
          out_chunk = chunk_op.new_chunk(
              input_chunks,
              shape=chunk.shape,
              index_value=chunk.index_value,
              columns_value=chunk.columns_value,
              dtypes=chunk_dtypes,
              index=chunk.index,
          )
      return out_chunk
  
imports: import itertools
  import numpy
  import pandas
  from pandas.api.types import is_list_like
  from ...None import opcodes
  from ...core import ENTITY_TYPE
  from ...serialization.serializables import KeyField, AnyField
  from ...tensor.core import TENSOR_TYPE
  from ..core import DATAFRAME_TYPE, SERIES_TYPE, INDEX_TYPE, OutputType
  from ..operands import DataFrameOperand, DataFrameOperandMixin
  from .drop_duplicates import DataFrameDropDuplicates
label_desc: Use image node_id 5 for calling the DataFrameIsin obj's underlying member method code with example usage: obj._new_chunk(cls, op, chunk, input_chunks) and returns: out_chunk