def processEventList(self, progressFunction=None):
		if len(self.localData) == 0:
			return

		#::type: FolderIndex
		self.renameFolderList = []
		#::type: FolderIndex
		self.moveFolderList = []
		#::type: FolderIndex
		self.deleteFolderList = []

		#::type: FileIndex
		self.moveUserFileList = []
		#::type: FileIndex
		self.renameUserFileList = []
		#::type: FileIndex
		self.deleteUserFileList = []

		while self.processedEventCount + 1 < len(self.syncHandler.eventList):
			self.processedEventCount += 1
			event = self.syncHandler.eventList[self.processedEventCount]
			# watch directory change
			if event.is_directory:
				folderIndex = Bunch()
				folderIndex.folder_id = self.searchFolderIDUsingPath(event.src_path)
				if folderIndex.folder_id == -1:
					print(u"Not found folder_id => skip %s" % (event.src_path))
					continue

				src_folder_path, src_folder_name = os.path.split(event.src_path)
				folderIndex.name = src_folder_name

				if event.event_type == 'moved':
					dest_folder_path, dest_folder_name = os.path.split(event.dest_path)
					folderIndex.to_folder_id = self.searchFolderIDUsingPath(dest_folder_path)
					if folderIndex.to_folder_id == -1:
						print(u"Not found to_folder_id => skip %s" % (event.src_path))
						continue
					self.moveFolderList += [folderIndex]

				elif event.event_type == 'renamed':
					dest_folder_path, dest_folder_name = os.path.split(event.dest_path)
					folderIndex.name = dest_folder_name
					self.renameFolderList += [folderIndex]

				elif event.event_type == 'deleted':
					self.deleteFolderList += [folderIndex]
				elif event.event_type == 'created':
					print("Skip newFolder=%s in processEvent" % (event.src_path))
					####
			else:  # handle file changes
				#::type: FileIndex
				fileIndex = Bunch()
				fileIndex.file_id = self.searchFileIDUsingPath(event.src_path)
				if fileIndex.file_id == -1:
					print(u"Not found file_id => skip %s" % (event.src_path))
					continue

				src_folder_path, src_file_name = os.path.split(event.src_path)
				fileIndex.file_name = src_file_name

				if event.event_type == 'moved':
					dest_folder_path, dest_file_name = os.path.split(event.dest_path)
					fileIndex.folder_id = self.searchFolderIDUsingPath(dest_folder_path)
					if fileIndex.folder_id == -1:
						print(u"Not found to_folder_id => skip %s" % (event.src_path))
						continue
					self.moveUserFileList += [fileIndex]
				elif event.event_type == 'renamed':
					dest_folder_path, dest_file_name = os.path.split(event.dest_path)
					fileIndex.file_name = dest_file_name
					self.renameUserFileList += [fileIndex]
				elif event.event_type == 'deleted':
					self.deleteUserFileList += [fileIndex]
				elif event.event_type == 'created':
					print("Skip newFile=%s in processEvent" % (event.src_path))
					####

			# end loop

		self.applyRemoteFolderChanges(correctIndex=True, progressFunction=progressFunction)

		self.applyRemoteFileChanges(progressFunction=progressFunction)