public function setMaxDepth($maxDepth)
{
if (!is_int($maxDepth)) {
throw new \InvalidArgumentException(sprintf('The maximum depth should be an integer. Got: %s', is_object($maxDepth) ? get_class($maxDepth) : gettype($maxDepth)));
}
if ($maxDepth < 1) {
throw new \InvalidArgumentException(sprintf('The maximum depth should 1 or greater. Got: %s', $maxDepth));
}
$this->maxDepth = $maxDepth;
}