# File lib/puppet/property.rb, line 321
321:   def validate_features_per_value(value)
322:     if features = self.class.value_option(self.class.value_name(value), :required_features)
323:       features = Array(features)
324:       needed_features = features.collect { |f| f.to_s }.join(", ")
325:       raise ArgumentError, "Provider must have features '#{needed_features}' to set '#{self.class.name}' to '#{value}'" unless provider.satisfies?(features)
326:     end
327:   end