def deep_find_providers_for(attributes)
      plugins = []
      attributes.each do |attribute|
        attrs = select_subtree(@map, attribute)

        unless attrs
          attrs = select_closest_subtree(@map, attribute)

          unless attrs
            raise Ohai::Exceptions::AttributeNotFound, "No such attribute: \'#{attribute}\'"
          end
        end

        collect_plugins_in(attrs, plugins)
      end

      plugins.uniq
    end
def deep_find_providers_for(attributes)
      plugins = []
      attributes.each do |attribute|
        attrs = select_subtree(@map, attribute)

        unless attrs
          attrs = select_closest_subtree(@map, attribute)

          unless attrs
            raise Ohai::Exceptions::AttributeNotFound, "No such attribute: \'#{attribute}\'"
          end
        end

        collect_plugins_in(attrs, plugins)
      end

      plugins.uniq
    end
This function is used to fetch the plugins for the attributes specified
 in the CLI options to Ohai.
 It first attempts to find the plugins for the attributes
 or the sub attributes given.
 If it can't find any, it looks for plugins that might
 provide the parents of a given attribute and returns the
 first parent found.