in skiko/src/awtMain/cpp/linux/theme.cc [194:210]
static bool parseSettingValue(DBusMessage *message, int type, void *value)
{
DBusMessageIter messageIter[3];
if(!dbus_message_iter_init_dynamic(message, &messageIter[0])) return false;
if (dbus_message_iter_get_arg_type_dynamic(&messageIter[0]) != DBUS_TYPE_VARIANT) return false;
if(!dbus_message_iter_recurse_dynamic(&messageIter[0], &messageIter[1])) return false;
if (dbus_message_iter_get_arg_type_dynamic(&messageIter[1]) != DBUS_TYPE_VARIANT) return false;
if(!dbus_message_iter_recurse_dynamic(&messageIter[1], &messageIter[2])) return false;
if (dbus_message_iter_get_arg_type_dynamic(&messageIter[2]) != type) return false;
if(!dbus_message_iter_get_basic_dynamic(&messageIter[2], value)) return false;
return true;
}