Surface-surface intersection

Hi all,
We are trying to upgrade to a newer version (7.8.0) and it seems most of 'BRepAlgoAPI_Section' APIs are marked as obsolete now. We have intersections to be performed between two surfaces/faces based on a user input. E.g.,

BRepAlgoAPI_Section* pSectionAlgo;
if (_onSurface)
{
pSectionAlgo = new BRepAlgoAPI_Section(BRep_Tool::Surface(_face), new Geom_Plane(pln));
}
else
{
pSectionAlgo = new BRepAlgoAPI_Section(_face, new Geom_Plane(pln));
}

But now we see that both the constructors have been marked as obsolete. We can try to find intersection using 'BRepAlgoAPI_BooleanOperation' or using 'BOPAlgo_BOP' but we see they only work with 'Shape' types.

Any recommendations here about how we should address this?

Thanks!