private void parseElement(XmlPullParser parser) throws XmlParseException, XmlPullParserException, IOException { this.parser = parser; if (!isTagSupported(parser.getName(), parser.getNamespace())) { String message = String.format( "Invalid tag (%s) for this reader: %s", parser.getName(), this.getClass().getCanonicalName()); throw new IllegalStateException(message); } this.count++; if (maxCount != null && count > maxCount) { throw new XmlParseException(parser, "Too many elements; max " + maxCount); } parseTag(); this.lastChildPullReaderIdx = 0; resetChildReaders(); }