public void addInput(String stageName, Input input) {
if (input instanceof Input.DatasetInput) {
Input.DatasetInput datasetInput = (Input.DatasetInput) input;
addInput(stageName, datasetInput.getName(), datasetInput.getAlias(), datasetInput.getArguments(),
datasetInput.getSplits());
} else if (input instanceof Input.InputFormatProviderInput) {
Input.InputFormatProviderInput ifpInput = (Input.InputFormatProviderInput) input;
addInput(stageName, ifpInput.getAlias(),
new BasicInputFormatProvider(ifpInput.getInputFormatProvider().getInputFormatClassName(),
ifpInput.getInputFormatProvider().getInputFormatConfiguration()));
} else if (input instanceof Input.StreamInput) {
Input.StreamInput streamInput = (Input.StreamInput) input;
addInput(stageName, streamInput.getAlias(), streamInput);
}
}