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