void extract_sideset_data_from_io(std::vector<IdAndSideSet> &sidesetData)
 {
     stk::mesh::BulkData &bulk = this->bulk_data();
     Ioss::Region *region = m_input_files[m_active_mesh_index]->get_input_io_region().get();
     for ( const Ioss::SideSet * sset : region->get_sidesets() )
         add_ioss_sideset_to_stk_sideset_with_sideset_id(bulk, sset, sidesetData);
 }
// ========================================================================
void process_sidesets(Ioss::Region &region, stk::mesh::BulkData &bulk)
{
    const Ioss::SideSetContainer& side_sets = region.get_sidesets();

    for(Ioss::SideSetContainer::const_iterator it = side_sets.begin();
            it != side_sets.end(); ++it) {
        Ioss::SideSet *entity = *it;

        if (stk::io::include_entity(entity)) {
            process_surface_entity(entity, bulk);
        }
    }
}
// ========================================================================
void process_sidesets(Ioss::Region &region, stk::mesh::MetaData &meta)
{
    const stk::mesh::EntityRank side_rank = meta.side_rank();

    const Ioss::SideSetContainer& side_sets = region.get_sidesets();
    stk::io::default_part_processing(side_sets, meta, side_rank);

    for(Ioss::SideSetContainer::const_iterator it = side_sets.begin();
            it != side_sets.end(); ++it) {
        Ioss::SideSet *entity = *it;

        if (stk::io::include_entity(entity)) {
            process_surface_entity(entity, meta, side_rank);
        }
    }
}