    # File lib/chef/mixin/command.rb, line 57
          def run_command(args={})
            command_output = ""

            args[:ignore_failure] ||= false
            args[:output_on_failure] ||= false

            # TODO: This is the wrong place for this responsibility.
            if args.has_key?(:creates)
              if File.exists?(args[:creates])
                Chef::Log.debug("Skipping #{args[:command]} - creates #{args[:creates]} exists.")
                return false
              end
            end

            status, stdout, stderr = output_of_command(args[:command], args)
            command_output << "STDOUT: #{stdout}"
            command_output << "STDERR: #{stderr}"
            handle_command_failures(status, command_output, args)

            status
          end