def METHOD_NAME(self, samples):
    """Merge and backtranslate a list of samples to form a mini-batch.
    Using the samples from *tgt_dataset*, load a collated target sample to
    feed to the backtranslation model. Then take the backtranslation with
    the best score as the source and the original input as the target.
    Note: we expect *tgt_dataset* to provide a function `collater()` that
    will collate samples into the format expected by *backtranslation_fn*.
    After backtranslation, we will feed the new list of samples (i.e., the
    `(backtranslated source, original source)` pairs) to *output_collater*
    and return the result.
    Args:
        samples (List[dict]): samples to backtranslate and collate
    Returns:
        dict: a mini-batch with keys coming from *output_collater*
    """
    if samples[0].get("is_dummy", False):
        return samples
    samples = backtranslate_samples(
        samples=samples,
        collate_fn=self.tgt_dataset.METHOD_NAME,
        generate_fn=(lambda net_input: self.backtranslation_fn(net_input)),
        cuda=self.cuda,
    )
    return self.output_collater(samples)