check intersection of unfolded surface with rotated face, if intersection occurs between these sets and is a surface, then we assume that the unfolded faces overlap and we move the branch of unfolded faces far away, remove the vertex from the graph, and continue unfolding the rest of the graph.  We then return the disconnected sets and the main graph as one flattened set of faces.  The disconnected sets need to be aligned to the plane of the final unfold face though, we can do this as a final step before returning.