protected function configureObjectValueParamForQuery($obj_val, $mix_value)
{
if ($mix_value instanceof Entity) {
$obj_key_value = $obj_val->mutableKeyValue();
$this->createMapper()->configureGoogleKey($obj_key_value, $mix_value);
$this->applyNamespace($obj_key_value);
} elseif ($mix_value instanceof \DateTime) {
$obj_val->setTimestampMicrosecondsValue($mix_value->format('Uu'));
} elseif (method_exists($mix_value, '__toString')) {
$obj_val->setStringValue($mix_value->__toString());
} else {
throw new \InvalidArgumentException('Unexpected, non-string-able object parameter: ' . get_class($mix_value));
}
}