def METHOD_NAME(self, check_content=False, progress_callback=None, progress_interval=100, **kwargs):
    images = list(self.dataset_root.rglob(r'{}/*/*{}.png'.format(self.images_dir, self.images_suffix)))
    content_errors = None if not check_content else []
    annotations = []
    num_iterations = len(images)
    for idx, image in enumerate(images):
        identifier = str(Path(self.images_dir).joinpath(*image.parts[-2:]))
        mask = str(Path(self.masks_dir) / image.parts[-2] / self.masks_suffix.join(
            str(image.name).split(self.images_suffix)
        ))
        if check_content:
            if not check_file_existence(self.dataset_root / mask):
                content_errors.append('{}: does not exist'.format(self.dataset_root / mask))
        annotations.append(SegmentationAnnotation(identifier, mask, mask_loader=GTMaskLoader.PILLOW))
        if progress_callback is not None and idx % progress_interval == 0:
            progress_callback(idx / num_iterations * 100)
    return ConverterReturn(annotations, self.get_meta(), content_errors)