Code Duplication    Length = 3-4 lines in 3 locations

src/Graviton/DocumentBundle/DependencyInjection/Compiler/Utils/DocumentMap.php 3 locations

@@ 497-499 (lines=3) @@
494
    ) {
495
        $result = [];
496
        foreach ($document->getFields() as $field) {
497
            if ($this->getFlatFieldCheckCallback($field, $callback)) {
498
                $result[$documentPrefix . $field->getFieldName()] = $exposedPrefix . $field->getExposedName();
499
            }
500
501
            if ($field instanceof ArrayField) {
502
                if ($this->getFlatFieldCheckCallback($field, $callback)) {
@@ 502-505 (lines=4) @@
499
            }
500
501
            if ($field instanceof ArrayField) {
502
                if ($this->getFlatFieldCheckCallback($field, $callback)) {
503
                    $result[$documentPrefix . $field->getFieldName() . '.0'] =
504
                        $exposedPrefix . $field->getExposedName() . '.0';
505
                }
506
            } elseif ($field instanceof EmbedOne) {
507
                $result = array_merge(
508
                    $result,
@@ 517-520 (lines=4) @@
514
                    )
515
                );
516
            } elseif ($field instanceof EmbedMany) {
517
                if ($this->getFlatFieldCheckCallback($field, $callback)) {
518
                    $result[$documentPrefix . $field->getFieldName() . '.0'] =
519
                        $exposedPrefix . $field->getExposedName() . '.0';
520
                }
521
                $result = array_merge(
522
                    $result,
523
                    $this->getFieldNamesFlat(