BoundaryPatch::intersect() is broken
The result of this method can contain more faces than the true intersection because it relies on BoundaryPatchEnclosingVerticesProperty. As a consequence boundaryPatch.intersect(boundarypatch) will not always yield an identical copy. If, e.g., all but a single face are contained in boundaryPatch then the result of boundaryPatch.intersect(boundarypatch) will contain all faces.