// Else, inputData will remain null.
}
if (input && output) {
LOG.trace("Parameter {} is both input and output.", i);
parameterList[i] = new ProgramParameter(inputData, length);
} else if (input) {
LOG.trace("Parameter {} is input.", i);
if (inputData != null) {
parameterList[i] = new ProgramParameter(inputData);
} else {
parameterList[i] = new ProgramParameter();
parameterList[i].setParameterType(ProgramParameter.PASS_BY_REFERENCE);
parameterList[i].setNullParameter(true); // Just for self documentation.
}
} else {
// output
LOG.trace("Parameter {} is output.", i);
parameterList[i] = new ProgramParameter(length);
}
}
return parameterList;
}