Code Duplication    Length = 16-16 lines in 3 locations

src/Webservice/Proxy/ProxyFactory.php 3 locations

@@ 76-91 (lines=16) @@
73
        };
74
    }
75
    
76
    private function fetchBelongsTo(
77
        TransferMetadata $metadata,
78
        PropertyMetadata $propertyMetadata,
79
        TransferManagerInterface $transferManager,
80
        $object,
81
        string $type
82
    ) {
83
        $belongsTo = $propertyMetadata->getAnnotation(BelongsTo::class);
84
        
85
        if ($belongsTo instanceof BelongsTo && empty($propertyMetadata->getValue($object))) {
86
            $data = $transferManager
87
                ->find($type, $metadata->propertyMetadata[$belongsTo->foreignField]->getValue($object));
88
89
            $propertyMetadata->setValue($object, $data);
90
        }
91
    }
92
93
    private function fetchHasOne(
94
        TransferMetadata $metadata,
@@ 93-108 (lines=16) @@
90
        }
91
    }
92
93
    private function fetchHasOne(
94
        TransferMetadata $metadata,
95
        PropertyMetadata $propertyMetadata,
96
        TransferManagerInterface $transferManager,
97
        $object,
98
        string $type
99
    ) {
100
        $hasOne = $propertyMetadata->getAnnotation(HasOne::class);
101
102
        if ($hasOne instanceof HasOne) {
103
            $data = $transferManager->getRepository($type)
104
                ->findOneBy([$hasOne->foreignField => $metadata->id->getValue($object)]);
105
106
            $propertyMetadata->setValue($object, $data);
107
        }
108
    }
109
110
    private function fetchHasMany(
111
        TransferMetadata $metadata,
@@ 110-125 (lines=16) @@
107
        }
108
    }
109
110
    private function fetchHasMany(
111
        TransferMetadata $metadata,
112
        PropertyMetadata $propertyMetadata,
113
        TransferManagerInterface $transferManager,
114
        $object,
115
        string $type
116
    ) {
117
        $hasMany = $propertyMetadata->getAnnotation(HasMany::class);
118
119
        if ($hasMany instanceof HasMany) {
120
            $data = $transferManager->getRepository($type)
121
                ->findBy([$hasMany->foreignField => $metadata->id->getValue($object)]);
122
123
            $propertyMetadata->setValue($object, $data);
124
        }
125
    }
126
127
    public function registerProxyAutoloader()
128
    {