public function exists($customerId, array $addressToCheck)
    {
        unset($addressToCheck['email']);
        if (empty($addressToCheck['company'])) {
            // company would be cast to an empty string, which does not match NULL in the database
            unset($addressToCheck['company']);
        }
        $addressCollection = $this->addressFactory->create()
                                                  ->getCollection()
                                                  ->addFieldToFilter('parent_id', $customerId);

        foreach ($addressToCheck as $addressField => $fieldValue) {
            $addressCollection->addFieldToFilter(
                $addressField,
                $fieldValue
            );
        }

        return $addressCollection->count() > 0;
    }