Index: src/org/jboss/tools/smooks/core/SmooksSAXXMLHandler.java =================================================================== --- src/org/jboss/tools/smooks/core/SmooksSAXXMLHandler.java (revision 32135) +++ src/org/jboss/tools/smooks/core/SmooksSAXXMLHandler.java (working copy) @@ -129,7 +129,7 @@ @Override public void comment(char[] ch, int start, int length) { String comment = new String(ch, start, length); - Object obj = objects.get(objects.size() - 1); + Object obj = getObject(objects.size() - 1); if (mixedTargets.peek() != null) { if (text != null) { @@ -158,6 +158,24 @@ } + /** + * @return + */ + private Object getObject(int index) { + if(index < 0 || index >= objects.size()) { + return null; + } + + // Need to perform the following check on the underlying objects.data[], before calling objects.get(), + // otherwise BasicEList throws a wobbler... + Object[] data = objects.data(); + if(data == null || data[index] == null) { + return null; + } + + return objects.get(index); + } + /* * (non-Javadoc) *