def fix_input(warnings, line, line_number, filename)
      fixable_warnings = filter_fixable warnings
      if fixable_warnings.size == 1
        self.settings[:output_lines] << fixable_warnings.first.fix rescue line
      elsif fixable_warnings.size > 1
        new_text = fixable_warnings.first.fix rescue line
        process_line(new_text, line_number, filename)
      else
        self.settings[:output_lines] << line
      end
    end
def fix_input(warnings, line, line_number, filename)
      fixable_warnings = filter_fixable warnings
      if fixable_warnings.size == 1
        self.settings[:output_lines] << fixable_warnings.first.fix rescue line
      elsif fixable_warnings.size > 1
        new_text = fixable_warnings.first.fix rescue line
        process_line(new_text, line_number, filename)
      else
        self.settings[:output_lines] << line
      end
    end
Tries to fix the given line with a set of matching warnings for that line.
 May recurse if there are multiple warnings on the same line.