def METHOD_NAME(self) -> Dict[int, int]:
    if self.num_qubits() != 2 * self.part_size:
        raise ValueError('qubit_count != 2 * self.part_size')
    if self.subgraph == BipartiteGraphType.MATCHING:
        return dict(
            enumerate(
                itertools.chain(
                    *(
                        range(self.part_size + offset - 1, offset - 1, -1)
                        for offset in (0, self.part_size)
                    )
                )
            )
        )
    if self.subgraph == BipartiteGraphType.COMPLETE:
        return dict(enumerate(range(2 * self.part_size)))
    raise NotImplementedError(str(self.subgraph) + 'not implemented')