def METHOD_NAME(
    self,
    submission: Submission,
    attributes: List[str],
    identifier_role: str = IdentifierRoles.main,
) -> Dict[str, Any]:
    # check if submission was logged in with the identifier we're interested
    if not (kvk_value := self.get_identifier_value(submission, identifier_role)):
        return {}
    client = KVKProfileClient()
    try:
        result = client.query(kvk_value)
    except (RequestException, ClientError, KVKClientError):
        return {}
    self.modify_result(result)
    values = dict()
    for attr in attributes:
        try:
            values[attr] = glom(result, attr)
        except GlomError:
            logger.warning(
                f"missing expected attribute '{attr}' in backend response"
            )
    return values