You could try something like this which should conform with the current spec programming model.
Store the object from your first step using the persistent step data in your NormalBatchlet:
stepCtx.setPersistentUserData(mySerializableData);
Retrieve the data from the first step in your partitions, by looking up the previous step:
Long execId = jobCtx.getExecutionId();
List<StepExecution> stepExecs = jobOperator.getStepExecutions(execID);
MyPersistentUserData myData;
for (StepExecution step : stepExecs) {
if (step.getStepName().equals("somePreviousStepX") {
myData = (MyPersistentUserData)step.getPersistentUserData();
}
}
//use myData