def METHOD_NAME(self):
    """
    Returns indices sorted by length. So less padding is needed.
    """
    if isinstance(self.sizes, np.ndarray) and len(self.sizes.shape) > 1:
        # special handling for concatenating lang_pair_datasets
        indices = np.arange(len(self))
        sizes = self.sizes
        tgt_sizes = (
            sizes[:, 1] if len(sizes.shape) > 0 and sizes.shape[1] > 1 else None
        )
        src_sizes = (
            sizes[:, 0] if len(sizes.shape) > 0 and sizes.shape[1] > 1 else sizes
        )
        # sort by target length, then source length
        if tgt_sizes is not None:
            indices = indices[np.argsort(tgt_sizes[indices], kind="mergesort")]
        return indices[np.argsort(src_sizes[indices], kind="mergesort")]
    else:
        return np.argsort(self.sizes)