@Override
        public PAYLOADTYPE next() {
            if (next == null) {
                throw new NoSuchElementException();
            }
            PAYLOADTYPE current = next;
            next = advance();
            return current;
        }
<p>Visits this <code>TraceNode</code> and all of its descendants in depth-first, prefix order.</p>

@param visitor The visitor to accept.
@return The <code>visitor</code> parameter.
vespajlib/src/main/java/com/yahoo/yolean/trace/TraceNode.java