protected static Map<String,Object> toNestedStringObjectMap(Map<ColumnIdent, Object> columnIdentObjectMap) {
Map<String, Object> nestedMap = new HashMap<>();
Map<String, Object> parent = nestedMap;
for (Map.Entry<ColumnIdent, Object> entry : columnIdentObjectMap.entrySet()) {
ColumnIdent key = entry.getKey();
Object value = entry.getValue();
if (key.path().isEmpty()) {
nestedMap.put(key.name(), value);
} else {
LinkedList<String> path = new LinkedList<>(key.path());
path.add(0, key.name());
while (true) {
String currentKey = path.pop();
if (path.isEmpty()) {
parent.put(currentKey, value);