private function createReporter($reporter)
    {
        $reflection = new ReflectionClass($reporter);

        if ($reflection->implementsInterface(self::REPORTER) === false) {
            throw NotAvailableException::createForReporter(self::REPORTER);
        }

        return $reflection->newInstance();
    }