@Override public CdoSnapshot createObject(ResultSet resultSet) throws SQLException { JsonObject json = new JsonObject(); json.add(COMMIT_METADATA, assembleCommitMetadata(resultSet)); json.add(STATE_NAME, jsonConverter.fromJsonToJsonElement(resultSet.getString(SNAPSHOT_STATE))); json.add(CHANGED_NAME, assembleChangedPropNames(resultSet)); json.addProperty(TYPE_NAME, resultSet.getString(SNAPSHOT_TYPE)); if (providedGlobalId.isPresent()) { json.add(GLOBAL_CDO_ID, jsonConverter.toJsonElement(providedGlobalId.get())); } else { json.add(GLOBAL_CDO_ID, assembleGlobalId(resultSet)); } return jsonConverter.fromJson(json, CdoSnapshot.class); }