Iterable<String> get segments sync* { if (parent != null) yield* parent!.segments; if (segment != null) yield segment!; }