def METHOD_NAME(self, instance, **kwds):
    #
    # Find the free variables
    #
    free_vars = {}
    id_list = []
    # [ESJ 07/12/2019] Look on the whole model in case instance is a Block or a Disjunct
    for vdata in instance.model().component_data_objects(
        Var,
        active=True,
        sort=SortComponents.deterministic,
        descend_into=(Block, Disjunct),
    ):
        id_list.append(id(vdata))
        free_vars[id(vdata)] = vdata
    #
    # Iterate over the Complementarity components
    #
    cobjs = []
    for cobj in instance.component_objects(
        Complementarity,
        active=True,
        descend_into=(Block, Disjunct),
        sort=SortComponents.deterministic,
    ):
        cobjs.append(cobj)
        for index in sorted(cobj.keys()):
            _cdata = cobj[index]
            if not _cdata.active:
                continue
            #
            # Apply a variant of the standard form logic
            #
            self.to_common_form(_cdata, free_vars)
            #
    tdata = instance._transformation_data['mpec.nl']
    tdata.compl_cuids = []
    for cobj in cobjs:
        tdata.compl_cuids.append(ComponentUID(cobj))
        cobj.parent_block().reclassify_component_type(cobj, Block)