public function findByIdentifier(FamilyInterface $family, $reference, $idFallback = false, $partialLoad = false)
    {
        $identifierAttribute = $family->getAttributeAsIdentifier();
        if (!$identifierAttribute) {
            if (!$idFallback) {
                $m = "Cannot find data with no identifier attribute for family: '{$family->getCode()}'";
                throw new \UnexpectedValueException($m);
            }

            return $this->findByPrimaryKey($family, $reference, $partialLoad);
        }

        return $this->findByUniqueAttribute($family, $identifierAttribute, $reference, $partialLoad);
    }