def METHOD_NAME(self, split, epoch=0, combine=False, **kwargs):
    """Load a given dataset split.
    Args:
        split (str): name of the split (e.g., train, valid, test)
    """
    paths = self.args.data.split(':')
    assert len(paths) > 0
    data_path = paths[epoch % len(paths)]
    split_path = os.path.join(data_path, split)
    dataset = data_utils.load_indexed_dataset(
        split_path,
        self.dictionary,
        self.args.dataset_impl,
        combine=combine,
    )
    if dataset is None:
        raise FileNotFoundError('Dataset not found: {} ({})'.format(split, split_path))
    dataset = StripTokenDataset(dataset, self.dictionary.eos())
    # create continuous blocks of tokens
    dataset = TokenBlockDataset(
            dataset,
            dataset.sizes,
            self.args.tokens_per_sample - 2,  # one less for <s> and one for </s>
            pad=self.dictionary.pad(),
            eos=self.dictionary.eos(),
            break_mode=self.args.sample_break_mode,
            document_sep_len=0
    )
    # prepend beginning-of-sentence token (<s>, equiv. to [CLS] in BERT)
    dataset = PrependTokenDataset(dataset, self.source_dictionary.bos())
    dataset = AppendTokenDataset(dataset, self.source_dictionary.eos())
    mask_whole_words = get_whole_word_mask(self.args, self.source_dictionary) \
        if self.args.mask_length != 'subword' else None
    self.datasets[split] = DenoisingDataset(
        dataset, dataset.sizes, self.dictionary, self.mask_idx,
        mask_whole_words, shuffle=self.args.shuffle_instance,
        seed=self.seed, args=self.args
    )
    print(
        "| Split: {0}, Loaded {1} samples of denoising_dataset".format(
            split,
            len(self.datasets[split]),
        )
    )