def mirror(self, handler, path_from, path_to, log_files=False):
q = deque(['<STR_LIT>'])<EOL>while q:<EOL><INDENT>path = q.popleft()<EOL>full_from = ('<STR_LIT>' % (path_from, path)) if path else path_from<EOL>full_to = ('<STR_LIT>' % (path_to, path)) if path else path_to<EOL>subdirs = handler(full_from, full_to, log_files)<EOL>for subdir in subdirs:<EOL><INDENT>q.append(('<STR_LIT>' % (path, subdir)) if path else subdir)<EOL><DEDENT><DEDENT>
Recursively mirror the contents of "path_from" into "path_to". 
        "handler" should be self.mirror_to_local_no_recursion or 
        self.mirror_to_remote_no_recursion to represent which way the files are
        moving.