code: public Row withPaddedHeader(final HeaderDefinition headerDefinition) {
      if (_headerDefinition != headerDefinition) {
        String[] values = new String[headerDefinition.size()];
        System.arraycopy(_values, 0, values, 0, _values.length);
        return Row.of(headerDefinition, values);
      } else {
        return this;
      }
    }
docs: Create row with new header.
  
  @param headerDefinition  the header definition
  @return a new Row with the new header definition