# File lib/puppet/node/environment.rb, line 15
15:     def self.new(name = nil)
16:         name ||= Puppet.settings.value(:environment)
17: 
18:         raise ArgumentError, "Environment name must be specified" unless name
19: 
20:         symbol = name.to_sym
21: 
22:         return @seen[symbol] if @seen[symbol]
23: 
24:         obj = self.allocate
25:         obj.send :initialize, symbol
26:         @seen[symbol] = obj
27:     end