code: def index_within_subset(self, indexable, subset_request,
                              sort_indices=False):
          
          # Translate the request within the context of this subset to a
          # request to the indexable object
          if isinstance(subset_request, numbers.Integral):
              request, = self[[subset_request]]
          else:
              request = self[subset_request]
          # Integer or slice requests can be processed directly.
          if isinstance(request, numbers.Integral) or hasattr(request, 'step'):
              return indexable[request]
          # If requested, we do fancy indexing in sorted order and reshuffle the
          # result back in the original order.
          if sort_indices:
              return self.sorted_fancy_indexing(indexable, request)
          # If the indexable supports fancy indexing (numpy array, HDF5 dataset),
          # the request can be processed directly.
          if isinstance(indexable, (numpy.ndarray, h5py.Dataset)):
              return indexable[request]
          # Anything else (e.g. lists) isn't considered to support fancy
          # indexing, so Subset does it manually.
          return iterable_fancy_indexing(indexable, request)
docs: Index an indexable object within the context of this subset.
  
          Parameters
          ----------
          indexable : indexable object
              The object to index through.
          subset_request : :class:`list` or :class:`slice`
              List of positive integer indices or slice that constitutes
              the request *within the context of this subset*. This
              request will be translated to a request on the indexable
              object.
          sort_indices : bool, optional
              If the request is a list of indices, indexes in sorted order
              and reshuffles the result in the original order. Defaults to
              `False`.