code: private ObjectNode convertRow(ObjectNode reuse, RowTypeInfo info, Row row) {
  		if (reuse == null) {
  			reuse = mapper.createObjectNode();
  		}
  		final String[] fieldNames = info.getFieldNames();
  		final TypeInformation<?>[] fieldTypes = info.getFieldTypes();
  
  		// validate the row
  		if (row.getArity() != fieldNames.length) {
  			throw new IllegalStateException(String.format(
  				"Number of elements in the row '%s' is different from number of field names: %d", row, fieldNames.length));
  		}
  
  		for (int i = 0; i < fieldNames.length; i++) {
  			final String name = fieldNames[i];
  
  			final JsonNode fieldConverted = convert(reuse, reuse.get(name), fieldTypes[i], row.getField(i));
  			reuse.set(name, fieldConverted);
  		}
  
  		return reuse;
  	}
docs: --------------------------------------------------------------------------------------------