Code Duplication    Length = 13-20 lines in 2 locations

src/Comparator/FormDiffService.php 2 locations

@@ 154-166 (lines=13) @@
151
        Assert::string($prefixPath);
152
        Assert::notEmpty($prefixPath);
153
154
        foreach ($sourceFieldset->getIterator() as $childSourceElementOrFieldset) {
155
            /** @var ElementInterface $childSourceElementOrFieldset */
156
            Assert::isInstanceOf($childSourceElementOrFieldset, ElementInterface::class);
157
            $childSourceElementOrFieldsetName = $childSourceElementOrFieldset->getName();
158
159
            $pathToElement = $this->buildPathToElementOrFieldset($childSourceElementOrFieldsetName, $prefixPath);
160
            if ($targetFieldset->has($childSourceElementOrFieldsetName)) {
161
                $childTargetElementOrFieldset = $targetFieldset->get($childSourceElementOrFieldsetName);
162
                $this->runDiffElementStrategy($childSourceElementOrFieldset, $childTargetElementOrFieldset, $pathToElement);
163
            } else {
164
                $this->runDeleteElementStrategy($childSourceElementOrFieldset, $pathToElement);
165
            }
166
        }
167
    }
168
169
    /**
@@ 231-250 (lines=20) @@
228
     */
229
    protected function addNewElementInDiff(FieldsetInterface $sourceFieldset, FieldsetInterface $targetFieldset, $prefixPath)
230
    {
231
        foreach ($targetFieldset->getIterator() as $childTargetElementOrFieldset) {
232
            /** @var ElementInterface $childTargetElementOrFieldset */
233
            Assert::isInstanceOf($childTargetElementOrFieldset, ElementInterface::class);
234
235
            $childTargetFieldsetName = $childTargetElementOrFieldset->getName();
236
            $pathToElementOrFieldset = $this->buildPathToElementOrFieldset($childTargetFieldsetName, $prefixPath);
237
238
            if ($sourceFieldset->has($childTargetFieldsetName)) {
239
                /** @var FieldsetInterface $childSourceFieldset */
240
                $childSourceFieldset = $sourceFieldset->get($childTargetFieldsetName);
241
242
                if ($this->isRunAddNewElementInDiff($childSourceFieldset, $childTargetElementOrFieldset)) {
243
                    /** @var FieldsetInterface $childTargetElementOrFieldset */
244
                    $this->addNewElementInDiff($childSourceFieldset, $childTargetElementOrFieldset, $pathToElementOrFieldset);
245
                }
246
247
            } else {
248
                $this->runInsertedElementStrategy($childTargetElementOrFieldset, $pathToElementOrFieldset);
249
            }
250
        }
251
    }
252
253
    /**