MeshFace Arrays Sorted according to Plane Orientation?

I would like to be able to sort MeshFaces (the internal array) according to a Plane using GH, so that each consecutive MeshFace index in the array is aligned with the plane (see image).

The MeshFace arrangement in the array could be “layered”, or one long spiral starting from the fartherst point along the Plane Normal spiralling its way over to the other end of the mesh.

Is there any generic algorithms around for something like that?

Fig. 1. Hint about what I’m thinking of, here illustrating “layered”, although a consecutive “spiral” around a mesh would also be a nice option.

// Rolf