# File lib/puppet/type/zone.rb, line 123
123:         def self.state_sequence(first, second)
124:             findex = sindex = nil
125:             unless findex = @parametervalues.index(state_name(first))
126:                 raise ArgumentError, "'%s' is not a valid zone state" % first
127:             end
128:             unless sindex = @parametervalues.index(state_name(second))
129:                 raise ArgumentError, "'%s' is not a valid zone state" % first
130:             end
131:             list = nil
132: 
133:             # Apparently ranges are unidirectional, so we have to reverse
134:             # the range op twice.
135:             if findex > sindex
136:                 list = @parametervalues[sindex..findex].collect do |name|
137:                     @states[name]
138:                 end.reverse
139:             else
140:                 list = @parametervalues[findex..sindex].collect do |name|
141:                     @states[name]
142:                 end
143:             end
144: 
145:             # The first result is the current state, so don't return it.
146:             list[1..-1]
147:         end