/// <inheritdoc/>
		public IPutIndexTemplateResponse PutIndexTemplate(IPutIndexTemplateRequest request) =>
			this.Dispatcher.Dispatch<IPutIndexTemplateRequest, PutIndexTemplateRequestParameters, PutIndexTemplateResponse>(
				request,
				this.LowLevelDispatch.IndicesPutTemplateDispatch<PutIndexTemplateResponse>
			);
		/// <inheritdoc/>
		public Task<IPutIndexTemplateResponse> PutIndexTemplateAsync(IPutIndexTemplateRequest request, CancellationToken cancellationToken = default(CancellationToken)) =>
			this.Dispatcher.DispatchAsync<IPutIndexTemplateRequest, PutIndexTemplateRequestParameters, PutIndexTemplateResponse, IPutIndexTemplateResponse>(
				request,
				cancellationToken,
				this.LowLevelDispatch.IndicesPutTemplateDispatchAsync<PutIndexTemplateResponse>
			);
		/// <inheritdoc/>
		public Task<IPutIndexTemplateResponse> PutIndexTemplateAsync(IPutIndexTemplateRequest request) => 
			this.Dispatcher.DispatchAsync<IPutIndexTemplateRequest, PutIndexTemplateRequestParameters, PutIndexTemplateResponse, IPutIndexTemplateResponse>(
				request,
				this.LowLevelDispatch.IndicesPutTemplateDispatchAsync<PutIndexTemplateResponse>
			);