private static String paramName(Parameter[] parameters,
                                    int position,
                                    ConstructorProperties parameterNames) {

        final Parameter parameter = parameters[position];
        return Optional.ofNullable(parameter.getAnnotation(ColumnName.class))
            .map(ColumnName::value)
            .orElseGet(() -> {
                if (parameterNames != null) {
                    return parameterNames.value()[position];
                } else {
                    return parameter.getName();
                }
            });
    }
Instantiate a ConstructorMapper using the given constructor and prefix

@param <T> the type to map
@param constructor the constructor to be used in mapping
@param prefix      the column name prefix
@return the mapper
core/src/main/java/org/jdbi/v3/core/mapper/reflect/ConstructorMapper.java