def METHOD_NAME(self):
    # Remove unused sockets
    [self.inputs.remove(sock) for sock in list(self.inputs)[:-1] if not sock.is_linked]
    [sock.catch_props() for sock in self.inputs if sock.links]
    # add property to new socket and add extra empty socket
    if list(self.inputs)[-1].is_linked and len(self.inputs) < 11:
        free_keys = self.input_keys - set(sock.prop_name for sock in list(self.inputs)[:-1])
        last_sock = list(self.inputs)[-1]
        last_sock.prop_name = free_keys.pop()
        last_sock.custom_draw = 'draw_socket'
        self.inputs.new('SvChameleonSocket', 'Data')
        self['update_event'] = True
        setattr(self, last_sock.prop_name, last_sock.other.name)
        self['update_event'] = False