public function getReportInstance(array $options = []) : ?ReportGraphsInterface
    {
        if (empty($options['config'])) {
            $options['config'] = $this->getReport($options);
        }

        if (empty($options['config'])) {
            return null;
        }

        $renderAs = $options['config']['info']['renderAs'];
        if (empty($renderAs)) {
            return null;
        }

        $className = __NAMESPACE__ . '\\Reports\\' . Inflector::camelize($renderAs) . self::WIDGET_REPORT_SUFFIX;
        if (! class_exists($className)) {
            return null;
        }

        if (! in_array(__NAMESPACE__ . '\\Reports\\' . 'ReportGraphsInterface', class_implements($className))) {
            return null;
        }

        return new $className($options);
    }