static <T extends Record> RecordDtor<T>
	of(final Class<T> type, final Formatter formatter) {
		requireNonNull(type);
		requireNonNull(formatter);

		final RecordComponent[] components = type.getRecordComponents();

		return record -> {
			final String[] values = new String[components.length];
			for (int i = 0; i < components.length; ++i) {
				final var component = get(components[i], record);
				values[i] = formatter.format(component);
			}
			return values;
		};
	}
Creates a new record deconstructor for the given record {@code type} and
{@code converter}.

@param type the record type
@param formatter the formatter to use for converting the record components
       to CSV row columns
@return a new record deconstructor
@param <T> the record type
jenetics.incubator/src/main/java/io/jenetics/incubator/csv/RecordDtor.java