public function isSafeToClone(ReflectionClass $class)
{
if (method_exists($class, 'isCloneable') && !$class->isCloneable()) {
return false;
}
// not cloneable if it implements `__clone`, as we want to avoid calling it
return !$class->hasMethod('__clone');
}