code: def _build_combine(
      cls, op, input_chunks, summary_chunks, idx, is_forward=True
  ):
      c = input_chunks[idx]
  
      summaries_to_concat = []
  
      idx_range = list(
          range(idx)
          if is_forward
          else range(idx + 1, len(summary_chunks))
      )
      for i in idx_range:
          summaries_to_concat.append(summary_chunks[i])
  
      new_chunk_op = op.copy().reset_key()
      new_chunk_op.stage = OperandStage.combine
  
      chunks_to_concat = [c] + summaries_to_concat
      return new_chunk_op.new_chunk(chunks_to_concat, **c.params)
  
imports: import itertools
  import numpy
  import pandas
  from ...None import opcodes
  from ...config import options
  from ...core import ENTITY_TYPE, Entity, OutputType, get_output_types
  from ...core.operand import OperandStage
  from ...serialization.serializables import StringField, AnyField, BoolField, Int64Field
  from ..align import align_dataframe_dataframe, align_dataframe_series, align_series_series
  from ..core import DATAFRAME_TYPE, SERIES_TYPE
  from ..operands import DataFrameOperandMixin, DataFrameOperand
  from ..utils import validate_axis
label_desc: Use image node_id 15 for calling the FillNA obj's underlying member method code with example usage: obj._build_combine(cls, op, input_chunks, summary_chunks, idx, is_forward) and returns: new_chunk_op