You probably haven't gotten around to this, but make sure tests are more comprehensive. Consider adding things like:

1. Union of split label vertices == original label vertices
2. Intersection of split label vertices == []