@Override
public String interpreter(NodeList carries, String helpers, JangodInterpreter interpreter)
throws InterpretException {
String[] values;
String var = null;
HelperStringTokenizer tk = new HelperStringTokenizer(helpers);
//TODO tokenize in one time
String[] helper = tk.allTokens();
if (helper.length == 1) {
HelperStringTokenizer items = new HelperStringTokenizer(helper[0]);
items.splitComma(true);
values = items.allTokens();
Integer forindex = (Integer) interpreter.retraceVariable(LOOP_INDEX);
if (forindex == null) {
forindex = 0;
}
if (values.length == 1) {
var = values[0];
values = (String[]) interpreter.retraceVariable(var);
if ( values == null ) {
return interpreter.resolveString(var);
}
} else {
for(int i=0; i<values.length; i++) {
values[i] = interpreter.resolveString(values[i]);
}
}
return values[forindex % values.length];
} else if (helper.length == 3) {
HelperStringTokenizer items = new HelperStringTokenizer(helper[0]);
items.splitComma(true);
values = items.allTokens();
for(int i=0; i<values.length; i++) {
values[i] = interpreter.resolveString(values[i]);
}
var = helper[2];
interpreter.assignRuntimeScope(var, values);