code: def _visit_recur(self, item):
          
          if item.kind == KindType.file_str:
              if item.need_to_send:
                  self.add_upload_item(item.path)
          else:
              if item.kind == KindType.project_str:
                  pass
              else:
                  if not item.remote_id:
                      self.add_upload_item(item.path)
              for child in item.children:
                  self._visit_recur(child)
docs: Recursively visits children of item.
          :param item: object: project, folder or file we will add to upload_items if necessary.