Code Duplication    Length = 8-9 lines in 4 locations

src/AbstractEntityService.php 4 locations

@@ 146-153 (lines=8) @@
143
     */
144
    public function attach(EventManagerInterface $events, $priority = 1)
145
    {
146
        $callback = function (EntityEvent $event) {
147
            $repository = $event->getTarget()->getRepository();
148
149
            $event->setResult(call_user_func_array(
150
                [$repository, $event->getName()],
151
                $event->getParams()
152
            ));
153
        };
154
155
        $this->listeners[] = $events->attach('countBy', $callback, 0);
156
        $this->listeners[] = $events->attach('find', $callback, 0);
@@ 162-170 (lines=9) @@
159
        $this->listeners[] = $events->attach('findOneBy', $callback, 0);
160
        $this->listeners[] = $events->attach(
161
            'delete',
162
            function (EntityEvent $event) {
163
                $repository = $event->getTarget()->getRepository();
164
165
                call_user_func_array([$repository, 'delete'], $event->getParams());
166
167
                if ($repository instanceof FlushableInterface) {
168
                    $repository->flush();
169
                }
170
            },
171
            0
172
        );
173
        $this->listeners[] = $events->attach(
@@ 175-183 (lines=9) @@
172
        );
173
        $this->listeners[] = $events->attach(
174
            'deleteBy',
175
            function (EntityEvent $event) {
176
                $repository = $event->getTarget()->getRepository();
177
178
                call_user_func_array([$repository, 'deleteBy'], $event->getParams());
179
180
                if ($repository instanceof FlushableInterface) {
181
                    $repository->flush();
182
                }
183
            },
184
            0
185
        );
186
        $this->listeners[] = $events->attach(
@@ 188-196 (lines=9) @@
185
        );
186
        $this->listeners[] = $events->attach(
187
            'persist',
188
            function (EntityEvent $event) {
189
                $repository = $event->getTarget()->getRepository();
190
191
                call_user_func_array([$repository, 'persist'], $event->getParams());
192
193
                if ($repository instanceof FlushableInterface) {
194
                    $repository->flush();
195
                }
196
            },
197
            0
198
        );
199
        $this->listeners[] = $events->attach(