private function assertLongNameValid($longName)
{
Assert::string($longName, 'The long option name must be a string. Got: %s');
Assert::notEmpty($longName, 'The long option name must not be empty.');
Assert::greaterThan(strlen($longName), 1, sprintf('The long option name must contain more than one character. Got: "%s"', $longName));
Assert::startsWithLetter($longName, 'The long option name must start with a letter.');
Assert::regex($longName, '~^[a-zA-Z0-9\\-]+$~', 'The long option name must contain letters, digits and hyphens only.');
}