code: public Collection<E> objects(final int[] indices) {
      return new AbstractList<E>() {
        @Override
        public E get(int index) {
          return objects.get(indices[index]);
        }
  
        @Override
        public int size() {
          return indices.length;
        }
      };
    }
docs: Looks up the objects corresponding to an array of indices, and returns them in a {@link Collection}.
  This collection is not a copy, but accesses the data structures of the Index.
  
  @param indices An array of indices
  @return a {@link Collection} of the objects corresponding to the indices argument.