code: func (r *ReindexSource) Source() (interface{}, error) {
  	src, err := r.request.sourceAsMap()
  	if err != nil {
  		return nil, err
  	}
  	source, ok := src.(map[string]interface{})
  	if !ok {
  		return nil, errors.New("unable to use SearchRequest as map[string]interface{}")
  	}
  
  	switch len(r.request.indices) {
  	case 1:
  		source["index"] = r.request.indices[0]
  	default:
  		source["index"] = r.request.indices
  	}
  	switch len(r.request.types) {
  	case 0:
  	case 1:
  		source["type"] = r.request.types[0]
  	default:
  		source["type"] = r.request.types
  	}
  	if r.remoteInfo != nil {
  		src, err := r.remoteInfo.Source()
  		if err != nil {
  			return nil, err
  		}
  		source["remote"] = src
  	}
  	return source, nil
  }
docs: // Source returns a serializable JSON request for the request.