@SuppressWarnings("rawtypes")
    public <T> C populate(T obj, Mapper<T> mapper) {
        Map<Path<?>, Object> values = mapper.createMap(entity, obj);
        for (Map.Entry<Path<?>, Object> entry : values.entrySet()) {
            set((Path) entry.getKey(), entry.getValue());
        }
        return (C) this;
    }
Populate the INSERT clause with the properties of the given bean using
the given Mapper.

@param obj object to use for population
@param mapper mapper to use
@return the current object
querydsl-sql/src/main/java/com/querydsl/sql/dml/AbstractSQLInsertClause.java