/**
* @inheritDoc
*
* @throws FormatterException
* If $classes does not implement the correct interface,
* or does not have a quality value.
*/
protected function assertValid(array $classes)
{
parent::assertValid($classes);
foreach ($classes as $formatter => $quality) {
if (!is_subclass_of($formatter, FormatterInterface::class)) {
throw FormatterException::invalidClass($formatter);
}
if (!is_float($quality)) {
throw FormatterException::needsQuality($formatter);
}
}
}