public String join(final Iterable<?> columns) {
			if (param.embedding.length == 0) {
				return join0(columns);
			} else {
				final var values = new Object[columnCount];
				final var it = columns.iterator();
				int i = 0;
				while (it.hasNext() && i < param.embedding.length) {
					final var col = it.next();
					final var index = param.embedding[i++];
					if (index >= 0) {
						values[index] = col;
					}
				}

				return join0(Arrays.asList(values));
			}
		}
Joins the given CSV {@code columns}, using the given separator and
quote character.

@param columns the CSV columns to join
@return the joined CSV columns
jenetics.ext/src/main/java/io/jenetics/ext/util/CsvSupport.java