class ClassifierCompositeItemWriterBuilder<T> {

	private Classifier<T, ItemWriter<? super T>> classifier;

	/**
	 * Establish the classifier to be used for the selection of which {@link ItemWriter}
	 * to use.
	 * @param classifier the classifier to set
	 * @return this instance for method chaining
	 * @see org.springframework.batch.item.support.ClassifierCompositeItemWriter#setClassifier(Classifier)
	 */
	public ClassifierCompositeItemWriterBuilder<T> classifier(Classifier<T, ItemWriter<? super T>> classifier) {
		this.classifier = classifier;

		return this;
	}

	/**
	 * Returns a fully constructed {@link ClassifierCompositeItemWriter}.
	 * @return a new {@link ClassifierCompositeItemWriter}
	 */
	public ClassifierCompositeItemWriter<T> build() {<FILL_FUNCTION_BODY>}

}

		Assert.notNull(classifier, "A classifier is required.");

		ClassifierCompositeItemWriter<T> writer = new ClassifierCompositeItemWriter<>();
		writer.setClassifier(this.classifier);
		return writer;
	
<no_super_class>