protected function getValue($value)
{
if (is_array($value) || $value instanceof \Traversable) {
$value = null;
} elseif ($value instanceof \DateTime) {
$value = $value->format($this->dateTimeFormat);
} elseif (is_object($value)) {
$value = (string) $value;
}
return $value;
}