class AmqpItemWriterBuilder<T> {

	private AmqpTemplate amqpTemplate;

	/**
	 * Establish the amqpTemplate to be used by the AmqpItemWriter.
	 * @param amqpTemplate the template to be used.
	 * @return this instance for method chaining
	 * @see AmqpItemWriter#AmqpItemWriter(AmqpTemplate)
	 */
	public AmqpItemWriterBuilder<T> amqpTemplate(AmqpTemplate amqpTemplate) {
		this.amqpTemplate = amqpTemplate;

		return this;
	}

	/**
	 * Validates and builds a {@link AmqpItemWriter}.
	 * @return a {@link AmqpItemWriter}
	 */
	public AmqpItemWriter<T> build() {<FILL_FUNCTION_BODY>}

}

		Assert.notNull(this.amqpTemplate, "amqpTemplate is required.");

		AmqpItemWriter<T> writer = new AmqpItemWriter<>(this.amqpTemplate);

		return writer;
	
<no_super_class>