}else
if(argumentSource instanceof String){
Object parameter = instance.getBeanProperty((String)argumentSource);
if(parameter instanceof ProcessVariableValue){
ProcessVariableValue pvv = ((ProcessVariableValue)parameter);
if(maxNumberOfParameterValues < pvv.size()) maxNumberOfParameterValues = pvv.size();
}else
if(parameter instanceof RoleMapping){
RoleMapping rm = ((RoleMapping)parameter);
if(maxNumberOfParameterValues < rm.size()) maxNumberOfParameterValues = rm.size();
}
parameters.put(inputArguments[i], parameter);
}
}
}
/**
* if the in-parameter has value more than one, it should let transformers run with each values.
*/
if(maxNumberOfParameterValues>1){
ProcessVariableValue result = new ProcessVariableValue();
for(int i=0; i<maxNumberOfParameterValues; i++){
HashMap unitParameters = new HashMap();
for(int j=0; j<inputArguments.length; j++){
Object parameter = parameters.get(inputArguments[j]);
if(parameter instanceof ProcessVariableValue){
int valuePos = i;
ProcessVariableValue pvv = ((ProcessVariableValue)parameter);
if(valuePos >= pvv.size()) valuePos = pvv.size()-1;
pvv.setCursor(valuePos);
parameter = pvv.getValue();
}else
if(parameter instanceof RoleMapping){
int valuePos = i;