docs: public synchronized TableModel<V> insertColumn(int index, String label, V[] newColumnValues) {
          columns.add(index, label);
          for(int i = 0; i < rows.size(); i++) {
              List<V> row = rows.get(i);
  
              //Pad row with null if necessary
              for(int j = row.size(); j < index; j++) {
                  row.add(null);
              }
  
              if(newColumnValues != null && i < newColumnValues.length && newColumnValues[i] != null) {
                  row.add(index, newColumnValues[i]);
              }
              else {
                  row.add(index, null);
              }
          }
  
          for(Listener<V> listener: listeners) {
              listener.onColumnAdded(this, index);
          }
          return this;
      }