code: def _convert_merge(self, source_node, new_name=None):
      IR_node = self.IR_graph.node.add()
  
      # name, op
      CoremlParser._copy_and_reop(source_node, IR_node, new_name)
  
      # input edge
      self.convert_inedge(source_node, IR_node)
  
      # For concat axis
      # NO axis in coreml, so set the last axis
      IR_node.attr["axis"].i = (
          len(CoremlParser.shape_dict[source_node.layer.output[0]])
          - 1
          - 1
      )
      # The first -1 means in coreml there is one-more axis,
      # The second -1 means the last axis
  
      return IR_node
  
imports: import os
  from six import string_types
  import numpy
  import math
  from coremltools.models.neural_network import NeuralNetworkBuilder
  from coremltools.models import datatypes
  from coremltools.models import MLModel
  from coremltools.models.utils import save_spec
  from coremltools.models._infer_shapes_nn_mlmodel import infer_shapes
  from coremltools.proto import Model_pb2, NeuralNetwork_pb2
  from mmdnn.conversion.coreml.coreml_graph import CoremlGraph
  import mmdnn.conversion.common.IR.graph_pb2
  from mmdnn.conversion.common.IR.graph_pb2 import NodeDef, GraphDef, DataType
  from mmdnn.conversion.common.DataStructure.parser import Parser
  from mmdnn.conversion.common.utils import *
label_desc: Use image node_id 11 for calling the CoremlParser obj's underlying member method code with example usage: obj._convert_merge(source_node, new_name) and returns: IR_node