| expandLateral(Set, RollingLaneStructureRecord.RecordLink, GtuType, double) |   | 5% |   | 2% | 34 | 35 | 69 | 75 | 0 | 1 |
| update(LanePosition, Route, GtuType) |   | 36% |   | 23% | 22 | 27 | 62 | 98 | 0 | 1 |
| updateStartDistanceSources() |  | 0% |  | 0% | 17 | 17 | 53 | 53 | 1 | 1 |
| retreatUpstreamEdge() |   | 16% |   | 12% | 15 | 17 | 32 | 43 | 0 | 1 |
| getFirstRecord(RelativeLane) |   | 16% |   | 10% | 18 | 20 | 41 | 47 | 0 | 1 |
| expandUpstreamMerge(Set, GtuType, double, Route) |   | 10% |   | 8% | 12 | 13 | 29 | 34 | 0 | 1 |
| expandDownstreamEdge(GtuType, double, Route) |   | 57% |   | 39% | 15 | 20 | 24 | 67 | 0 | 1 |
| expandDownstreamSplit(Set, GtuType, double, Route) |   | 12% |   | 12% | 8 | 9 | 24 | 29 | 0 | 1 |
| getDownstreamObjectsRecursive(SortedSet, LaneStructureRecord, Class, double) |  | 0% |  | 0% | 10 | 10 | 17 | 17 | 1 | 1 |
| getDownstreamObjects(RelativeLane, Class, LaneBasedGtu, RelativePosition.Type) |  | 0% |  | 0% | 6 | 6 | 15 | 15 | 1 | 1 |
| connectLaterally(RollingLaneStructureRecord, GtuType, Set) |  | 0% |  | 0% | 8 | 8 | 14 | 14 | 1 | 1 |
| getUpstreamObjects(RelativeLane, Class, LaneBasedGtu, RelativePosition.Type) |  | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
| expandUpstreamEdge(GtuType, double) |   | 57% |   | 55% | 6 | 10 | 15 | 44 | 0 | 1 |
| print(RollingLaneStructure, LaneBasedGtu) |  | 0% |  | 0% | 3 | 3 | 11 | 11 | 1 | 1 |
| findUpstreamEdge(RollingLaneStructureRecord) |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 1 | 1 |
| getUpstreamObjectsRecursive(SortedSet, LaneStructureRecord, Class, Length) |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| getDownstreamObjectsOnRoute(RelativeLane, Class, LaneBasedGtu, RelativePosition.Type, Route) |  | 0% |  | 0% | 6 | 6 | 11 | 11 | 1 | 1 |
| removeDownstream(RollingLaneStructureRecord, LateralDirectionality) |  | 0% |  | 0% | 5 | 5 | 9 | 9 | 1 | 1 |
| getDownstreamObjectsOnRoute(Class, LaneBasedGtu, RelativePosition.Type, Route) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| getDownstreamObjects(Class, LaneBasedGtu, RelativePosition.Type) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| removeRecord(RollingLaneStructureRecord) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| getRootRecord(Time) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| toString() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| notify(Event) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$expandLateral$1(RollingLaneStructureRecord, RollingLaneStructureRecord) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$expandLateral$0(RollingLaneStructureRecord, RollingLaneStructureRecord) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| RollingLaneStructure(Length, Length, Length, Length, Length, LaneBasedGtu) |  | 100% | | n/a | 0 | 1 | 0 | 20 | 0 | 1 |
| constructRecord(Lane, RollingLaneStructureRecord, RollingLaneStructureRecord.RecordLink, RelativeLane) |  | 100% |   | 50% | 1 | 2 | 0 | 6 | 0 | 1 |
| deriveFirstRecords() |  | 100% |   | 75% | 1 | 3 | 0 | 7 | 0 | 1 |
| getRootRecord() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getExtendedCrossSection() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |