def METHOD_NAME(self) -> TSimulationState:
    if not self.split_untangled_states:
        return self.sim_states[None]
    final_args = self.sim_states[None]
    for args in set([self.sim_states[k] for k in self.sim_states.keys() if k is not None]):
        final_args = final_args.kronecker_product(args)
    return final_args.transpose_to_qubit_order(self.qubits)