public static function findIContactProspectsByEmailHash(
        CNabuIContact $nb_icontact,
        string $hash
    ) : CNabuIContactProspectList {
        if (is_numeric($nb_icontact_id = nb_getMixedValue($nb_icontact, 'nb_icontact_id')) &&
            strlen($hash) === 32
        ) {
            $list = CNabuIContactProspect::buildObjectListFromSQL(
                'nb_icontact_prospect_id',
                'SELECT *
                   FROM nb_icontact_prospect
                  WHERE nb_icontact_id=%icontact_id$d
                    AND nb_icontact_prospect_email_hash=\'%hash$s\'',
                array(
                    'icontact_id' => $nb_icontact_id,
                    'hash' => $hash
                )
            );
        } else {
            throw new ENabuCoreException(ENabuCoreException::ERROR_UNEXPECTED_PARAM_VALUE, array('$hash'));
        }

        return $list;
    }