def METHOD_NAME(self, rootpath):
    """Assimilate the entire subdirectory structure in rootpath serially."""
    valid_paths = []
    for parent, subdirs, files in os.walk(rootpath):
        valid_paths.extend(self._drone.get_valid_paths((parent, subdirs, files)))
    data = []
    count = 0
    total = len(valid_paths)
    for path in valid_paths:
        newdata = self._drone.assimilate(path)
        self._data.append(newdata)
        count += 1
        logger.info(f"{count}/{total} ({count / total :.2%}) done")
    for d in data:
        self._data.append(json.loads(d, cls=MontyDecoder))