protected function get()
{
$format = $this->request->format();
if (isset($this->presentables[$format]) === false) {
throw new NotFoundFormatException(['name' => $format]);
}
if ($format == HtmlPresenter::format() && $this->api === true && $this->html === false) {
$format = JsonPresenter::format();
}
$presenter = $this->getPresenter($format);
if (is_subclass_of($presenter, RendererInterface::class) === false && is_subclass_of($presenter, Presentable::class) === false) {
throw new InvalidPresenterException(['name' => get_class($presenter)]);
}
return $presenter;
}