protected java.util.Iterator subElementIterator () throws BeanCoderException { final int type = this.currentType(); if (type == T_ARRAY || type == T_COLLECTION) return new IndexedIterator(this.currentNode()); return new ItemIterator(this.currentNode()); }