    # File temp/validation/relaxng.rb, line 378
          def next( event )
            # Make the choice if we haven't
            if @events.size == 0
              c = 0 ; max = @choices.size
              while c < max
                if @choices[c][0].class == Ref
                  expand_ref_in( @choices[c], 0 )
                  @choices += @choices[c]
                  @choices.delete( @choices[c] )
                  max -= 1
                else
                  c += 1
                end
              end
              @events = @choices.find { |evt| evt[0].matches? event }
              # Remove the references
              # Find the events
            end
            #puts "In next with #{event.inspect}."
            #puts "events is #{@events.inspect}"
            unless @events
              @events = []
              return nil
            end
            #puts "current = #@current"
            super
          end