How does graphhopper convert OSM files into "routable street sections"?

I have noticed that OSM highways are not minimal street sections in the sense that they run over crossings. So for routing purposes and to construct your routing network you cut up OSM highways into smaller, non-overlapping parts, right?