code: public static HeaderDefinition of(final String... columnNames) {
      ArgumentChecker.notNull(columnNames, "columnNames");
      return new HeaderDefinition(Arrays.asList(columnNames));
    }
docs: Create a RowDefinition when no type information is available. In rare situations, duplicates can occur. These will be renamed so:
  
  <pre>
  column, column, column, ...
  </pre>
  
  becomes:
  
  <pre>
  column, column.1, column.2, ...
  </pre>
  
  for lookup purposes. A warning will be printed to the logger.
  
  @param columnNames a vararg array of strings, each naming a column
  @return the instance