    # File temp/validation/relaxng.rb, line 326
          def next( event )
            expand_ref_in( @events, @current ) if @events[@current].class == Ref
            if ( @events[@current].matches?(event) )
              @current += 1
              @ord += 1
              if @events[@current].nil?
                @current = 0
                return self
              elsif @events[@current].kind_of? State
                @current += 1
                @events[@current-1].previous = self
                return @events[@current-1]
              else
                return self
              end
            else
              return @previous.pop.next( event ) if @current == 0 and @ord > 0
              return nil
            end
          end