def METHOD_NAME(self, outputs):
    """
    Each cell has one or more outputs of different types.
    They are collected by type and transformed later.
    """
    stdout = []
    html = []
    # ascii: for actual html content, that has been converted from ansi-encoded ascii
    ascii = []
    # errors are similar to ascii content
    errors = []
    for output in outputs:
        ot = output['output_type']
        if ot == 'stream':
            ascii.append(self.ansi2htmlconv(output['text']))
        elif ot in ['display_data', 'execute_result']:
            data = output['data']
            if 'text/html' in data:
                html.append(data['text/html'])
            if 'text/latex' in data:
                html.append(data['text/latex'])
            if 'text/plain' in data:
                stdout.append(data['text/plain'])
            # print(json.dumps(data, indent=2))
        elif ot in 'error':
            if 'traceback' in output:
                # print(json.dumps(output['traceback'], indent=2))
                for tr in output['traceback']:
                    errors.append(self.ansi2htmlconv(tr))
        else:
            print("ERROR: unknown output type '%s':\n%s" %
                  (ot, json.dumps(output, indent=2)))
    self.stdout = u'\n'.join(stdout)
    self.html = u'<br/>'.join(html)
    self.error = u'<br/>'.join(errors)
    self.ascii = u'<br/>'.join(ascii)