Code Duplication    Length = 20-20 lines in 2 locations

src/Charcoal/Object/HierarchicalCollection.php 2 locations

@@ 191-210 (lines=20) @@
188
189
        if ($perPage < 1) {
190
            foreach ($childObjects[$parentObj->id()] as $object) {
191
                if ($count === 0 && $object->hasMaster()) {
192
                    $myParents = [];
193
                    $myParent  = $object->getMaster();
194
                    while ($myParent) {
195
                        $myParents[] = $myParent;
196
197
                        if (!$myParent->hasMaster()) {
198
                            break;
199
                        }
200
201
                        $myParent = $myParent->getMaster();
202
                    }
203
204
                    $numParents = count($myParents);
205
                    while ($myParent = array_pop($myParents)) {
206
                        $myParent->level = ($level - $numParents);
207
                        $sortedObjects[$myParent->id()] = $myParent;
208
                        $numParents--;
209
                    }
210
                }
211
212
                $object->level = $level;
213
                $sortedObjects[$object->id()] = $object;
@@ 237-256 (lines=20) @@
234
                }
235
236
                // If the page starts in a subtree, print the parents.
237
                if ($count === $start && $object->hasMaster()) {
238
                    $myParents = [];
239
                    $myParent  = $object->getMaster();
240
                    while ($myParent) {
241
                        $myParents[] = $myParent;
242
243
                        if (!$myParent->hasMaster()) {
244
                            break;
245
                        }
246
247
                        $myParent = $myParent->getMaster();
248
                    }
249
250
                    $numParents = count($myParents);
251
                    while ($myParent = array_pop($myParents)) {
252
                        $myParent->level = ($level - $numParents);
253
                        $sortedObjects[$myParent->id()] = $myParent;
254
                        $numParents--;
255
                    }
256
                }
257
258
                if ($count >= $start) {
259
                    $object->level = $level;