public function findByIdentifierColumn(
        FamilyInterface $family,
        $identifierColumn,
        $reference,
        $partialLoad = false
    ) {
        if (!$partialLoad) {
            return $this->findOneBy(
                [
                    $identifierColumn => $reference,
                    'family' => $family,
                ]
            );
        }

        $qb = $this->createQueryBuilder('e')
            ->where("e.{$identifierColumn} = :reference")
            ->andWhere('e.family = :familyCode')
            ->setParameters(
                [
                    'reference' => $reference,
                    'familyCode' => $family->getCode(),
                ]
            );

        return $this->executeWithPartialLoad($qb);
    }