# File lib/facter/util/fact.rb, line 62
  def value
    return @value if @value

    if @resolves.length == 0
      Facter.debug "No resolves for %s" % @name
      return nil
    end

    searching do
      @value = nil

      foundsuits = false
      @value = @resolves.inject(nil) { |result, resolve|
        next unless resolve.suitable?
        foundsuits = true

        tmp = resolve.value

        break tmp unless tmp.nil? or tmp == ""
      }

      unless foundsuits
        Facter.debug "Found no suitable resolves of %s for %s" % [@resolves.length, @name]
      end
    end

    if @value.nil?
      # nothing
      Facter.debug("value for %s is still nil" % @name)
      return nil
    else
      return @value
    end
  end