code: func (h *Holder) Close() error {
  	h.Stats.Close()
  
  	// Notify goroutines of closing and wait for completion.
  	close(h.closing)
  	h.wg.Wait()
  
  	for _, index := range h.indexes {
  		if err := index.Close(); err != nil {
  			return errors.Wrap(err, "closing index")
  		}
  	}
  
  	if h.translateFile != nil {
  		if err := h.translateFile.Close(); err != nil {
  			return err
  		}
  	}
  
  	// Reset opened in case Holder needs to be reopened.
  	h.opened.mu.Lock()
  	h.opened.ch = make(chan struct{})
  	h.opened.mu.Unlock()
  
  	return nil
  }
docs: // Close closes all open fragments.