def METHOD_NAME(self, qubits: Sequence['cirq.Qid']) -> 'cirq.OP_TREE':
    if len(qubits) != 2 * self.part_size:
        raise ValueError('len(qubits) != 2 * self.part_size')
    if self.subgraph == BipartiteGraphType.COMPLETE:
        return self.decompose_complete(qubits)
    if self.subgraph == BipartiteGraphType.MATCHING:
        return self.decompose_matching(qubits)
    raise NotImplementedError('No decomposition implemented for ' + str(self.subgraph))