Code Duplication    Length = 11-14 lines in 2 locations

Admin/Traits/Mapper.php 2 locations

@@ 140-150 (lines=11) @@
137
                            $mapper->remove($key);
138
139
                            // compensating the partial removal in Sonata Admin, that does not touch the groups when removing a field
140
                            if ($mapper instanceof BaseGroupedMapper) {
141
                                foreach ($groups = $this->{$fcts['groups']['getter']}() as $groupkey => $group) {
142
                                    if (isset($group['fields'][$key])) {
143
                                        unset($groups[$groupkey]['fields'][$key]);
144
                                        if (!$groups[$groupkey]['fields']) {
145
                                            unset($groups[$groupkey]);
146
                                        }
147
                                        $this->{$fcts['groups']['setter']}($groups);
148
                                    }
149
                                }
150
                            }
151
                        }
152
                    }
153
                }
@@ 195-208 (lines=14) @@
192
193
            // removing empty tabs
194
            $tabs = $this->{$fcts['tabs']['getter']}();
195
            if (is_array($tabs)) {
196
                foreach ($tabs as $tabkey => $tab) {
197
                    foreach ($tab['groups'] as $groupkey => $group) {
198
                        if (!isset($this->{$fcts['groups']['getter']}()[$group])) {
199
                            unset($tabs[$tabkey]['groups'][$groupkey]);
200
                        }
201
                    }
202
203
                    if (!$tabs[$tabkey]['groups']) {
204
                        unset($tabs[$tabkey]);
205
                    }
206
                }
207
                $this->{$fcts['tabs']['setter']}($tabs);
208
            }
209
        }
210
211
        $this->fixTemplates($mapper);