<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_witness(self, work, siglum, text_class=WitnessText):
 """Returns a `WitnessText` representing the file associated with `work` and `siglum`. Combined, `work` and `siglum` form the basis of a filename for retrieving the text. :param work: name of work :type work: `str` :param siglum: siglum of witness :type siglum: `str` :rtype: `WitnessText` """

        filename = os.path.join(work, siglum + '.txt')
        self._logger.debug('Creating WitnessText object from {}'.format(
            filename))
        with open(os.path.join(self._path, filename), encoding='utf-8') \
                as fh:
            content = fh.read()
        return text_class(work, siglum, content, self._tokenizer)