private static function validateNaturalFloat($key, $value)
{
$value = filter_var($value, FILTER_VALIDATE_FLOAT);
if ($value === false) {
throw new \InvalidArgumentException("Option[{$key}] must be float.");
}
if ($value < 0.0) {
throw new \DomainException("Option[{$key}] must be positive or zero.");
}
return $value;
}