class REXML::Validation::Optional
def expected
def expected return [ @prior.expected, @events[0] ].flatten if @current == 0 return [@events[@current]] end
def matches?(event)
def matches?(event) @events[@current].matches?(event) || (@current == 0 and @previous[-1].matches?(event)) end
def next( event )
def next( event ) if @current == 0 rv = super return rv if rv @prior = @previous.pop return @prior.next( event ) end super end