I understand that there are two ways to explore a wire, i.e. to get its edges and vertices, namely by using BRepTools_WireExplorer and TopExp_Explorer. The first one returns the edges and vertices in a sequential order, but it may not work when the wire has defects, such as "loops, wrong orientation of edges (two edges go in to shared vertex or go out from shared vertex), branching of edges, the presens of edges with INTERNAL or EXTERNAL orientation", as per the documentation. The second one I suppose will work for any kind of wire. My question is, is there any way to properly choose the exploration method, such that BRepTools_WireExplorer is used if the wire is valid, otherwise TopExp_Explorer is used?