protected static function isValidGetter(\ReflectionClass &$reflection, $name)
	{
		if (!$reflection->hasMethod($name))
		{
			throw new \LogicException(
				sprintf('Invalid metadata for %s: no getter %s.', $reflection->getName(), $name)
			);
		}
		$getter = $reflection->getMethod($name);
		if (!$getter->isPublic())
		{
			throw new \LogicException(
				sprintf('Invalid metadata for %s: getter %s is not public.', $reflection->getName(), $name)
			);
		}
		if ($getter->getNumberOfRequiredParameters() > 0)
		{
			throw new \LogicException(
				sprintf('Invalid metadata for %s: getter %s should not require parameters.', $reflection->getName(), $name)
			);
		}
		return true;
	}