'This function to be used with iterator, so we don\'t care of invalid sources.
If source, enabled, or comment is None, original value from line ``n`` will be preserved.'

def modify(self, file, n, enabled=None, source=None, comment=None):

    (valid, enabled_old, source_old, comment_old) = self.files[file][n][1:]
    self.files[file][n] = (n, valid, self._choice(enabled, enabled_old), self._choice(source, source_old), self._choice(comment, comment_old))
