def METHOD_NAME(self, did):
    parsed_did = self.parse_did(did)
    if not parsed_did:
        return []
    try:
        datasets = []
        did_info = self.did_client.get_did(parsed_did['scope'], parsed_did['name'])
        if did_info['type'] == 'CONTAINER':
            self.logger.info(f"{did} is a container of {did_info['length']} datasets.")
            content = self.did_client.list_content(parsed_did['scope'], parsed_did['name'])
            for c in content:
                datasets.append([c['scope'], c['name']])
        elif did_info['type'] == 'DATASET':
            datasets.append([parsed_did['scope'], parsed_did['name']])
            self.logger.info(f"{did} is a dataset with {did_info['length']} files.")
        else:
            self.logger.info(f"{did} is a file: {did_info}.")
            datasets.append([parsed_did['scope'], parsed_did['name']])
        return datasets
    except DataIdentifierNotFound:
        self.logger.warning(f"{did} not found")
        return None