def METHOD_NAME(self, gate):
    self.qubit_set = self.qubit_set | set(gate.qubits)
    self.init_args = sorted(self.qubit_set)
    self.target_qubits = tuple(self.init_args)
    if isinstance(gate, self.__class__):
        self.gates = gate.gates + self.gates
    else:
        self.gates = [gate] + self.gates