def METHOD_NAME(cls, op: "DataFrameCheckMonotonic"):
    map_chunks = []
    for c in op.inputs[0].chunks:
        new_op = DataFrameCheckMonotonic(
            decreasing=op.decreasing,
            strict=op.strict,
            stage=OperandStage.map,
            output_types=[OutputType.series],
            order=TensorOrder.C_ORDER,
        )
        map_chunks.append(new_op.new_chunk([c], shape=(2,), dtype=np.dtype(bool)))
    concat_op = TensorConcatenate(axis=0, dtype=np.dtype(bool))
    concat_r_chunk = concat_op.new_chunk(
        map_chunks,
        shape=(len(map_chunks),),
        index=(0, 0),
        order=TensorOrder.C_ORDER,
    )
    new_op = DataFrameCheckMonotonic(
        decreasing=op.decreasing,
        strict=op.strict,
        stage=OperandStage.reduce,
        output_types=[OutputType.scalar],
        order=TensorOrder.C_ORDER,
    )
    r_chunk = new_op.new_chunk(
        [concat_r_chunk], shape=(), order=TensorOrder.C_ORDER, dtype=np.dtype(bool)
    )
    new_op = op.copy().reset_key()
    params = op.outputs[0].params
    params["chunks"] = [r_chunk]
    params["nsplits"] = ()
    return new_op.new_tileables(op.inputs, **params)