<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def from_bank_code(cls, country_code, bank_code):
 """Create a new BIC object from country- and bank-code. Examples: 'DE' 'DEUT' 'HH' Traceback (most recent call last):
 ValueError: Invalid bank code '01010101' for country 'DE' Args: country_code (str):
 ISO 3166 alpha2 country-code. bank_code (str):
 Country specific bank-code. Returns: BIC: a BIC object generated from the given country code and bank code. Raises: ValueError: If the given bank code wasn't found in the registry Note: This currently only works for German bank-codes. """

        try:
            return cls(registry.get('bank_code')[(country_code, bank_code)]['bic'])
        except KeyError:
            raise ValueError("Invalid bank code {!r} for country {!r}".format(bank_code,
                                                                              country_code))