class JdbcParameterEntryMapper implements ObjectMapper<JdbcParameterEntry> {

    @Override
    public JdbcParameterEntry createObject(ResultSet resultSet) throws SQLException {
        List<String> levels = new ArrayList<String>();
        String currentLevelValue;
        boolean doneBeforeLimit = false;
        for (int levelIndex = 0; levelIndex < configuration.levelColumnCount() - 1; ++levelIndex) {
            currentLevelValue = resultSet.getString("level" + levelIndex);
            if (currentLevelValue == null) {
                doneBeforeLimit = true;
                break;
            }
            levels.add(currentLevelValue);
        }

        if (!doneBeforeLimit) {
            String lastLevelValue = resultSet.getString("level" + (configuration.levelColumnCount() - 1));
            if (lastLevelValue != null) {
                levels.addAll(Arrays.asList(lastLevelValue.split("\\" + configuration.excessLevelsSeparator())));
            }
        }

        String[] levelValues = levels.toArray(new String[levels.size()]);
        JdbcParameterEntry entry = new JdbcParameterEntry(resultSet.getLong("id"), levelValues);

        return entry;
    }

    public  JdbcParameterEntryMapper(DefaultJdbcConfig configuration);

}