code: def _shorten_line_at_tokens_new(tokens, source, indentation,
                                  max_line_length):
      
      # Yield the original source so to see if it's a better choice than the
      # shortened candidate lines we generate here.
      yield indentation + source
  
      parsed_tokens = _parse_tokens(tokens)
  
      if parsed_tokens:
          # Perform two reflows. The first one starts on the same line as the
          # prefix. The second starts on the line after the prefix.
          fixed = _reflow_lines(parsed_tokens, indentation, max_line_length,
                                start_on_prefix_line=True)
          if fixed and check_syntax(normalize_multiline(fixed.lstrip())):
              yield fixed
  
          fixed = _reflow_lines(parsed_tokens, indentation, max_line_length,
                                start_on_prefix_line=False)
          if fixed and check_syntax(normalize_multiline(fixed.lstrip())):
              yield fixed
docs: Shorten the line taking its length into account.
  
      The input is expected to be free of newlines except for inside
      multiline strings and at the end.