code: def _add_item(self, item, indent_amt):
          
          if self._prev_item and self._prev_item.is_string and item.is_string:
              # Place consecutive string literals on separate lines.
              self._lines.append(self._LineBreak())
              self._lines.append(self._Indent(indent_amt))
  
          item_text = unicode(item)
          if self._lines and self._bracket_depth:
              # Adding the item into a container.
              self._prevent_default_initializer_splitting(item, indent_amt)
  
              if item_text in '.,)]}':
                  self._split_after_delimiter(item, indent_amt)
  
          elif self._lines and not self.line_empty():
              # Adding the item outside of a container.
              if self.fits_on_current_line(len(item_text)):
                  self._enforce_space(item)
  
              else:
                  # Line break for the new item.
                  self._lines.append(self._LineBreak())
                  self._lines.append(self._Indent(indent_amt))
  
          self._lines.append(item)
          self._prev_item, self._prev_prev_item = item, self._prev_item
  
          if item_text in '([{':
              self._bracket_depth += 1
  
          elif item_text in '}])':
              self._bracket_depth -= 1
              assert self._bracket_depth >= 0
docs: Add an item to the line.
  
          Reflow the line to get the best formatting after the item is
          inserted. The bracket depth indicates if the item is being
          inserted inside of a container or not.