class ColumnsHolder {

    public List<String> getColumns(final String tableName) {
        final List<String> tableColumns = columnsInTable.get(tableName);

        final List<String> result = new ArrayList<>();
        result.addAll(columns);
        result.addAll(tableColumns != null ? tableColumns : Collections.emptyList());
        return result;
    }

    public  ColumnsHolder(final String[] columnNames, final Function<String, String> idMapper);

}