class ChunkRequest<T> implements Serializable {

	private static final long serialVersionUID = 1L;

	private final long jobId;

	private final Chunk<? extends T> items;

	private final StepContribution stepContribution;

	private final int sequence;

	public ChunkRequest(int sequence, Chunk<? extends T> items, long jobId, StepContribution stepContribution) {
		this.sequence = sequence;
		this.items = items;
		this.jobId = jobId;
		this.stepContribution = stepContribution;
	}

	public long getJobId() {
		return jobId;
	}

	public Chunk<? extends T> getItems() {
		return items;
	}

	public int getSequence() {
		return sequence;
	}

	/**
	 * @return the {@link StepContribution} for this chunk
	 */
	public StepContribution getStepContribution() {
		return stepContribution;
	}

	/**
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {<FILL_FUNCTION_BODY>}

}

		return getClass().getSimpleName() + ": jobId=" + jobId + ", sequence=" + sequence + ", contribution="
				+ stepContribution + ", item count=" + items.size();
	
<no_super_class>