code: public <T, V> void addColumn(String name, Class<? extends V> type, 
          Function<T, V> getter, BiConsumer<T, V> setter)
      {
          Column column = new Column();
          column.name = Objects.requireNonNull(name, "The name may not be null");
          column.type = Objects.requireNonNull(type, "The type may not be null");
          column.getter = Objects.requireNonNull(
              getter, "The getter may not be null");
          column.setter = setter;
          columns.add(column);
          fireTableStructureChanged();
      }
docs: Add the specified column to this model
  
  @param <T> The row type
  @param <V> The value type
  
  @param name The column name
  @param type The column type
  @param getter The getter for the column value
  @param setter The optional setter for the column value