class MultiLineJobConfiguration {

	@Bean
	@StepScope
	public MultiLineTradeItemReader itemReader(@Value("#{jobParameters[inputFile]}") Resource resource) {<FILL_FUNCTION_BODY>}

	@Bean
	@StepScope
	public MultiLineTradeItemWriter itemWriter(@Value("#{jobParameters[outputFile]}") WritableResource resource) {
		FlatFileItemWriter<String> delegate = new FlatFileItemWriterBuilder<String>().name("delegateItemWriter")
			.resource(resource)
			.lineAggregator(new PassThroughLineAggregator<>())
			.build();
		MultiLineTradeItemWriter writer = new MultiLineTradeItemWriter();
		writer.setDelegate(delegate);
		return writer;
	}

	@Bean
	public Job job(JobRepository jobRepository, JdbcTransactionManager transactionManager,
			MultiLineTradeItemReader itemReader, MultiLineTradeItemWriter itemWriter) {
		return new JobBuilder("ioSampleJob", jobRepository)
			.start(new StepBuilder("step1", jobRepository).<Trade, Trade>chunk(2, transactionManager)
				.reader(itemReader)
				.writer(itemWriter)
				.build())
			.build();
	}

}

		FlatFileItemReader<FieldSet> delegate = new FlatFileItemReaderBuilder<FieldSet>().name("delegateItemReader")
			.resource(resource)
			.lineTokenizer(new DelimitedLineTokenizer())
			.fieldSetMapper(new PassThroughFieldSetMapper())
			.build();
		MultiLineTradeItemReader reader = new MultiLineTradeItemReader();
		reader.setDelegate(delegate);
		return reader;
	
<no_super_class>