def METHOD_NAME(path):
  new_lines = []
  old_comments = []
  needs_fixes = False
  with open(path, "r") as lines:
    num_leading_comment_lines = 0
    for line_ in lines:
      line = line_.rstrip("\n\r\t ")
      unindented_line = line.lstrip("\t ")
      new_lines.append(line)
      if unindented_line.startswith("//"):
        # Make sure that every line that begins a comment block
        # is preceded by a new line or a closing brace.
        if not num_leading_comment_lines and 1 < len(new_lines):
          prev_line = new_lines[-2].strip()
          if prev_line != "" and prev_line != "}":
            new_lines[-1] = ""
            new_lines.append(line)
            needs_fixes = True
        num_leading_comment_lines += 1
      # The code style has it so that the comment on an `else` or `else if` statement
      # appears on the line before the `else` or `else if`.
      elif num_leading_comment_lines:
        if unindented_line.startswith("} else"):
          comment_lines = list(new_lines[-(num_leading_comment_lines + 1):-1])
          del new_lines[-(num_leading_comment_lines+1):]
          new_lines.append(REFLOW_COMMENT)
          new_lines.append(line)
          old_comments.append(comment_lines)
          needs_fixes = True
        num_leading_comment_lines = 0
      else:
        num_leading_comment_lines = 0
  # Force an empty newline at the end of the file.
  if len(new_lines) and new_lines[-1]:
    new_lines.append("")
    needs_fixes = True
  return new_lines, old_comments, needs_fixes