def find_closest_providers_for(attributes)
      plugins = []
      attributes.each do |attribute|
        parts = normalize_and_validate(attribute)
        raise Ohai::Exceptions::AttributeNotFound, "No such attribute: \'#{attribute}\'" unless @map[parts[0]]
        attrs = select_closest_subtree(@map, attribute)
        raise Ohai::Exceptions::ProviderNotFound, "Cannot find plugin providing attribute: \'#{attribute}\'" unless attrs
        plugins += attrs[:_plugins]
      end
      plugins.uniq
    end
def find_closest_providers_for(attributes)
      plugins = []
      attributes.each do |attribute|
        parts = normalize_and_validate(attribute)
        raise Ohai::Exceptions::AttributeNotFound, "No such attribute: \'#{attribute}\'" unless @map[parts[0]]
        attrs = select_closest_subtree(@map, attribute)
        raise Ohai::Exceptions::ProviderNotFound, "Cannot find plugin providing attribute: \'#{attribute}\'" unless attrs
        plugins += attrs[:_plugins]
      end
      plugins.uniq
    end
This function is used to fetch the plugins from
 'depends "languages"' statements in plugins.
 It gathers plugins providing each of the attributes listed, or the
 plugins providing the closest parent attribute