protected function toString($value)
    {
        if (is_string($value) || is_numeric($value)) {
            return $value;
        }

        if (is_bool($value)) {
            return $value ? 1 : 0;
        }

        if ($value instanceof \DateTime) {
            return $value->format('c');
        }

        if (!$value) {
            return '';
        }

        if (!is_array($value)) {
            throw new \Exception('Invalid value for list builder.');
        }

        return implode($this->delimiter, $value);
    }