def index_within_subset(self, indexable, subset_request,
                            sort_indices=False):
        if isinstance(subset_request, numbers.Integral):
            request, = self[[subset_request]]
        else:
            request = self[subset_request]
        if isinstance(request, numbers.Integral) or hasattr(request, 'step'):
            return indexable[request]
        if sort_indices:
            return self.sorted_fancy_indexing(indexable, request)
        if isinstance(indexable, (numpy.ndarray, h5py.Dataset)):
            return indexable[request]
        return iterable_fancy_indexing(indexable, request)