def METHOD_NAME(self):
    if not self.var_name and self.outputs:
        self.gen_var_name()
    ng = self.id_data
    wifi_dict = {node.var_name: node
                 for name, node in ng.nodes.items()
                 if node.bl_idname == 'WifiInNode'}
    node = wifi_dict.get(self.var_name)
    if node:
        inputs = node.inputs
        outputs = self.outputs
        # match socket type
        for idx, i_o in enumerate(zip(inputs, outputs)):
            i_socket, o_socket = i_o
            if i_socket.links:
                f_socket = i_socket.links[0].from_socket
                if f_socket.bl_idname != o_socket.bl_idname:
                    outputs.remove(o_socket)
                    outputs.new(f_socket.bl_idname, i_socket.name)
                    outputs.move(len(self.outputs)-1, idx)
        # adjust number of inputs
        while len(outputs) != len(inputs)-1:
            if len(outputs) > len(inputs)-1:
                outputs.remove(outputs[-1])
            else:
                n = len(outputs)
                socket = inputs[n]
                if socket.links:
                    s_type = socket.links[0].from_socket.bl_idname
                else:
                    s_type = 'SvStringsSocket'
                s_name = socket.name
                outputs.new(s_type, s_name)