'Multiply every thread in ``discourse`` by every reading in ``readings``.
Given discourse = [[\'A\'], [\'B\']], readings = [\'a\', \'b\', \'c\'] , returns
[[\'A\', \'a\'], [\'A\', \'b\'], [\'A\', \'c\'], [\'B\', \'a\'], [\'B\', \'b\'], [\'B\', \'c\']]
:param discourse: the current list of readings
:type discourse: list of lists
:param readings: an additional list of readings
:type readings: list(Expression)
:rtype: A list of lists'

@staticmethod
def multiply(discourse, readings):

    result = []
    for sublist in discourse:
        for r in readings:
            new = []
            new += sublist
            new.append(r)
            result.append(new)
    return result
