try {
list = ParameterExpander.evaluateExpression(aValueMap, listExpression);
- if (list instanceof Collection)
- browser = ((Collection) list).iterator();
- else if (list instanceof Iterator)
- browser = (Iterator) list;
- else
- throw new ProducerExc("Can't enumarate a " + list.getClass().getName());
+ if (list != null) {
+ if (list instanceof Collection)
+ browser = ( (Collection) list).iterator();
+ else if (list instanceof Iterator)
+ browser = (Iterator) list;
+ else
+ throw new ProducerExc("Can't enumarate a " + list.getClass().getName());
+ if (browser instanceof RewindableIterator) {
+ ( (RewindableIterator) browser).rewind();
+ }
- if (browser instanceof RewindableIterator) {
- ((RewindableIterator) browser).rewind();
- }
-
- while (browser.hasNext() && !isAborted(aValueMap)) {
- ParameterExpander.setValueForKey(aValueMap, key, browser.next());
- super.produce(aValueMap, aVerb, aLogger);
+ while (browser.hasNext() && !isAborted(aValueMap)) {
+ ParameterExpander.setValueForKey(aValueMap, key, browser.next());
+ super.produce(aValueMap, aVerb, aLogger);
+ }
}
}
catch (Throwable t) {