diff --git a/src/eva2/server/stat/AbstractStatistics.java b/src/eva2/server/stat/AbstractStatistics.java index 4f3a4f72..ae9fabe5 100644 --- a/src/eva2/server/stat/AbstractStatistics.java +++ b/src/eva2/server/stat/AbstractStatistics.java @@ -806,10 +806,10 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter Iterator hIter = headers.iterator(); Iterator mIter = (metaInfo!=null) ? metaInfo.iterator() : null; if (!lastIsShowFull) while (hIter.hasNext()) { - if (mIter!=null) mIter.next(); + if (mIter!=null && mIter.hasNext()) mIter.next(); if (!isRequestedAdditionalField(hIter.next())) { hIter.remove(); - if (mIter!=null) mIter.remove(); + if (mIter!=null && mIter.hasNext()) mIter.remove(); } } return headers; diff --git a/src/eva2/tools/StringSelection.java b/src/eva2/tools/StringSelection.java index 4ba38a9c..0b37549b 100644 --- a/src/eva2/tools/StringSelection.java +++ b/src/eva2/tools/StringSelection.java @@ -137,7 +137,11 @@ public class StringSelection implements Serializable { * @return */ public boolean isSelected(int i) { - return selStates[i]; + try { + return selStates[i]; + } catch(ArrayIndexOutOfBoundsException e) { + throw new ArrayIndexOutOfBoundsException(e.getMessage()+" - inconsistent implementation of InterfaceAdditionalPopulationInformer?"); + } } /**