'Given a thread ID, find the list of ``logic.Expression`` objects corresponding to the reading IDs in that thread.
:param thread_id: thread ID
:type thread_id: str
:param threads: a mapping from thread IDs to lists of reading IDs
:type threads: dict
:return: A list of pairs ``(rid, reading)`` where reading is the ``logic.Expression`` associated with a reading ID
:rtype: list of tuple'

def expand_threads(self, thread_id, threads=None):

    if (threads is None):
        threads = self._threads
    return [(rid, self._readings[sid][rid]) for rid in threads[thread_id] for sid in rid.split('-')[:1]]
