public void execute(ActionExecutionContext exctx) throws ModelException, SCXMLExpressionException {
Context ctx = exctx.getContext(getParentEnterableState());
Evaluator eval = exctx.getEvaluator();
ctx.setLocal(getNamespacesKey(), getNamespaces());
try {
Object arrayObject = eval.eval(ctx,array);
if (arrayObject != null && (arrayObject instanceof Iterable || arrayObject.getClass().isArray())) {
if (arrayObject.getClass().isArray()) {
for (int currentIndex = 0, size = Array.getLength(arrayObject); currentIndex < size; currentIndex++) {
ctx.setLocal(item, Array.get(arrayObject, currentIndex));
ctx.setLocal(index, currentIndex);