User edited file: "src/orbit-commons/src/main/kotlin/orbit/common/collections/GraphTraverser.kt":

```diff
@@ -7,7 +7,7 @@
 package orbit.common.collections
 
 class GraphTraverser<T>(val getChildren: (T) -> Sequence<T>) {
-    fun traverse(initial: T): Sequence<Pair<T>> {
+    fun traverse(initial: T): Sequence<ParentChild<T>> {
         return sequence() {
             var row = listOf(Pair(null, initial))
             do {
@@ -25,4 +25,4 @@
     data class Pair<T>(val parent: T?, val child: T) {
 
     }
-}
+}
```

User edited file: "src/orbit-commons/src/main/kotlin/orbit/common/collections/GraphTraverser.kt":

```diff
@@ -9,7 +9,7 @@
 class GraphTraverser<T>(val getChildren: (T) -> Sequence<T>) {
     fun traverse(initial: T): Sequence<ParentChild<T>> {
         return sequence() {
-            var row = listOf(Pair(null, initial))
+            var row = listOf(ParentChild(null, initial))
             do {
                 yieldAll(row)
                 row = row.asSequence().flatMap { node -> getChildren(node.child).map { child ->

```

User edited file: "src/orbit-commons/src/main/kotlin/orbit/common/collections/GraphTraverser.kt":

```diff
@@ -13,7 +13,7 @@
             do {
                 yieldAll(row)
                 row = row.asSequence().flatMap { node -> getChildren(node.child).map { child ->
-                    Pair(
+                    ParentChild(
                         node.child,
                         child
                     )

```
```src/orbit-commons/src/main/kotlin/orbit/common/collections/GraphTraverser.kt
/*
 Copyright (C) 2015 - 2019 Electronic Arts Inc.  All rights reserved.
 This file is part of the Orbit Project <https://www.orbit.cloud>.
 See license in LICENSE.
 */

package orbit.common.collections

class GraphTraverser<T>(val getChildren: (T) -> Sequence<T>) {
    fun traverse(initial: T): Sequence<ParentChild<T>> {
        return sequence() {
            var row = listOf(ParentChild(null, initial))
            do {
                yieldAll(row)
                row = row.asSequence().flatMap { node -> getChildren(node.child).map { child ->
                    ParentChild(
                        node.child,
                        child
                    )
                } }.toList()
            } while (row.isNotEmpty())
        }
    }

    <|user_cursor_is_here|>
    data class Pair<T>(val parent: T?, val child: T) {

    }
}
```
```src/orbit-commons/src/main/kotlin/orbit/common/collections/GraphTraverser.kt
/*
 Copyright (C) 2015 - 2019 Electronic Arts Inc.  All rights reserved.
 This file is part of the Orbit Project <https://www.orbit.cloud>.
 See license in LICENSE.
 */

package orbit.common.collections

class GraphTraverser<T>(val getChildren: (T) -> Sequence<T>) {
    fun traverse(initial: T): Sequence<ParentChild<T>> {
        return sequence() {
            var row = listOf(ParentChild(null, initial))
            do {
                yieldAll(row)
                row = row.asSequence().flatMap { node -> getChildren(node.child).map { child ->
                    ParentChild(
                        node.child,
                        child
                    )
                } }.toList()
            } while (row.isNotEmpty())
        }
    }

    <|tool_call|>
    {"name": "refactor.rename", "arguments": {"symbol": "Pair", "newName": "ParentChild"}}
    </|tool_call|>
    data class Pair<T>(val parent: T?, val child: T) {

    }
}
```