code: public GridBagLayoutBuilder append(Component component, int x, int y, int colSpan, int rowSpan, double xweight,
              double yweight, Insets insets) {
          final java.util.List rowList = getRow(y);
          ensureCapacity(rowList, Math.max(x, maxCol) + 1);
  
          final int col = bypassPlaceholders(rowList, x);
  
          insertPlaceholdersIfNeeded(rowSpan, y, col, component, colSpan);
  
          final GridBagConstraints gbc = createGridBagConstraint(col, y, colSpan, rowSpan, xweight, yweight, insets);
  
          rowList.set(col, new Item(component, gbc));
          if (LOG.isDebugEnabled())
              LOG.debug(getDebugString(component, gbc));
  
          // keep track of the largest column this has seen...
          this.maxCol = Math.max(this.maxCol, col);
  
          currentCol = col + colSpan;
  
          return this;
      }
docs: Appends the given component to the end of the current line
  
  @param component the component to add to the current line
  @param x         the column to put the component
  @param y         the row to put the component
  @param colSpan   the number of columns to span
  @param rowSpan   the number of rows to span
  @param xweight   the "growth weight" horrizontally
  @param yweight   the "growth weight" horrizontally
  @param insets    the insets to use for this component
  
  @return "this" to make it easier to string together append calls
  
  @see GridBagConstraints#weightx
  @see GridBagConstraints#weighty