override fun nextToken()

in runtime/serde/serde-xml/jvm/src/aws/smithy/kotlin/runtime/serde/xml/XmlStreamReaderXmlPull.kt [197:209]


    override fun nextToken(): XmlToken? {
        var peekToken = currentReader.peek(1) ?: return null

        if (subtreeStartDepth == XmlStreamReader.SubtreeStartDepth.CHILD && peekToken.depth < minimumDepth) {
            // Special case when a CHILD subtree is created on an end node, the next node will be a sibling
            // and fail the depth test.  In this case check the next node and if passed depth test skip to
            // it and return.
            peekToken = currentReader.peek(2) ?: return null
            if (peekToken.depth >= minimumDepth) currentReader.nextToken()
        }

        return if (peekToken.depth >= minimumDepth) currentReader.nextToken() else null
    }