def METHOD_NAME(self, target_3d_desc, verbose=False):
    valid_reshape, reshape_errors = self.can_reshape(target_3d_desc)
    assert valid_reshape, ','.join(reshape_errors)
    tgt_2d_map = reshape_meg_2d_parallel(old_pp_degree=self.pp_degree,
                                         old_tp_degree=self.tp_degree,
                                         new_pp_degree=target_3d_desc.pp_degree,
                                         new_tp_degree=target_3d_desc.tp_degree,
                                         verbose=verbose)
    flat_3d_map = flatten_dp_dimension(meg_2d_map=tgt_2d_map,
                                       src_2d_size=self.pp_degree * self.tp_degree,
                                       dp_degree=self.dp_degree)
    return unflatten_dp_dimension(meg_2d_map=flat_3d_map, dp_degree=target_3d_desc.dp_degree)