<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def new_issuer(self, issuer_idx, info=None):
 """ Add a new issuer to the dataset with the given data. Parameters: issuer_idx (str):
 The id to associate the issuer with. If None or already exists, one is generated. info (dict, list):
 Additional info of the issuer. Returns: Issuer: The newly added issuer. """


        new_issuer_idx = issuer_idx

        # Add index to idx if already existing
        if new_issuer_idx in self._issuers.keys():
            new_issuer_idx = naming.index_name_if_in_list(new_issuer_idx, self._issuers.keys())

        new_issuer = issuers.Issuer(new_issuer_idx, info=info)
        self._issuers[new_issuer_idx] = new_issuer

        return new_issuer