def monitor(self, sleep=<NUM_LIT:5>):
manager = FileModificationObjectManager()<EOL>timestamps = {}<EOL>filebodies = {}<EOL>for file in self.f_repository:<EOL><INDENT>timestamps[file] = self._get_mtime(file)<EOL>filebodies[file] = open(file).read()<EOL><DEDENT>while True:<EOL><INDENT>for file in self.f_repository:<EOL><INDENT>mtime = timestamps[file]<EOL>fbody = filebodies[file]<EOL>modified = self._check_modify(file, mtime, fbody)<EOL>if not modified:<EOL><INDENT>continue<EOL><DEDENT>new_mtime = self._get_mtime(file)<EOL>new_fbody = open(file).read()<EOL>obj = FileModificationObject(<EOL>file,<EOL>(mtime, new_mtime),<EOL>(fbody, new_fbody) )<EOL>timestamps[file] = new_mtime<EOL>filebodies[file] = new_fbody<EOL>manager.add_object(obj)<EOL>yield obj<EOL><DEDENT>time.sleep(sleep)<EOL><DEDENT>
Run file modification monitor.

        The monitor can catch file modification using timestamp and file body. 
        Monitor has timestamp data and file body data. And insert timestamp 
        data and file body data before into while roop. In while roop, monitor 
        get new timestamp and file body, and then monitor compare new timestamp
        to originaltimestamp. If new timestamp and file body differ original,
        monitor regard thease changes as `modification`. Then monitor create
        instance of FileModificationObjectManager and FileModificationObject,
        and monitor insert FileModificationObject to FileModificationObject-
        Manager. Then, yield this object.

        :param sleep: How times do you sleep in while roop.