def process_module(self, node):
        '''
        process a module

        the module's content is accessible via node.file_stream object
        '''
        nodepaths = []
        if not isinstance(node.path, list):
            nodepaths = [node.path]
        else:
            nodepaths = node.path

        for node_path in nodepaths:
            if node_path not in _PROCESSED_NODES:
                stylechecker = StyleGuide(
                    parse_argv=False, config_file=False, quiet=2,
                    reporter=PyLintPEP8Reporter
                )

                _PROCESSED_NODES[node_path] = stylechecker.check_files([node_path])

            for code, lineno, text in _PROCESSED_NODES[node_path].locations:
                pylintcode = '{0}8{1}'.format(code[0], code[1:])
                if pylintcode in self.msgs_map:
                    # This will be handled by PyLint itself, skip it
                    continue

                if pylintcode not in _KNOWN_PEP8_IDS:
                    if pylintcode not in _UNHANDLED_PEP8_IDS:
                        _UNHANDLED_PEP8_IDS.append(pylintcode)
                        msg = 'The following code, {0}, was not handled by the PEP8 plugin'.format(pylintcode)
                        if logging.root.handlers:
                            logging.getLogger(__name__).warning(msg)
                        else:
                            sys.stderr.write('{0}\n'.format(msg))
                    continue

                if pylintcode not in self._msgs:
                    # Not for our class implementation to handle
                    continue

                if code in ('E111', 'E113'):
                    if _PROCESSED_NODES[node_path].lines[lineno-1].strip().startswith('#'):
                        # If E111 is triggered in a comment I consider it, at
                        # least, bad judgement. See https://github.com/jcrocholl/pep8/issues/300

                        # If E113 is triggered in comments, which I consider a bug,
                        # skip it. See https://github.com/jcrocholl/pep8/issues/274
                        continue
                try:
                    self.add_message(pylintcode, line=lineno, args=(code, text))
                except TypeError as exc:
                    if 'not all arguments' not in str(exc):
                        raise
                    # Message does not support being passed the text arg
                    self.add_message(pylintcode, line=lineno, args=(code,))
process a module

        the module's content is accessible via node.file_stream object